public void DestoryMasterDetailPage() { var recorder = new PageNavigationEventRecorder(); var masterDetailPage = new MasterDetailPageMock(recorder); var masterDetailPageViewModel = masterDetailPage.BindingContext; var detailPage = masterDetailPage.Detail; var detailPageViewModel = detailPage.BindingContext; PageUtilities.DestroyPage(masterDetailPage); // masterDetailPage Assert.Equal(detailPage, recorder.Records[0].Sender); Assert.Null(detailPage.BindingContext); Assert.Equal(0, detailPage.Behaviors.Count); Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[0].Event); Assert.Equal(detailPageViewModel, recorder.Records[1].Sender); Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[1].Event); // detailPage Assert.Equal(masterDetailPage, recorder.Records[2].Sender); Assert.Null(masterDetailPage.BindingContext); Assert.Equal(0, masterDetailPage.Behaviors.Count); Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[2].Event); Assert.Equal(masterDetailPageViewModel, recorder.Records[3].Sender); Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[3].Event); Assert.Equal(4, recorder.Records.Count); }
public void DestoryMasterDetailPage() { var recorder = new PageNavigationEventRecorder(); var masterPage = new ContentPageMock(recorder) { Title = "Master" }; var masterPageViewModel = masterPage.BindingContext; var detailPage = new ContentPageMock(recorder) { Title = "Detail" }; var detailPageViewModel = detailPage.BindingContext; var masterDetailPage = new MasterDetailPageMock(recorder, masterPage, detailPage); var masterDetailPageViewModel = masterDetailPage.BindingContext; PageUtilities.DestroyPage(masterDetailPage); // MasterPage var record = recorder.TakeFirst(); Assert.Equal(masterPage, record.Sender); Assert.Null(masterPage.BindingContext); Assert.Equal(0, masterPage.Behaviors.Count); Assert.Equal(PageNavigationEvent.Destroy, record.Event); record = recorder.TakeFirst(); Assert.Equal(masterPageViewModel, record.Sender); Assert.Equal(PageNavigationEvent.Destroy, record.Event); // DetailPage record = recorder.TakeFirst(); Assert.Equal(detailPage, record.Sender); Assert.Null(detailPage.BindingContext); Assert.Equal(0, detailPage.Behaviors.Count); Assert.Equal(PageNavigationEvent.Destroy, record.Event); record = recorder.TakeFirst(); Assert.Equal(detailPageViewModel, record.Sender); Assert.Equal(PageNavigationEvent.Destroy, record.Event); // MasterDetailPage record = recorder.TakeFirst(); Assert.Equal(masterDetailPage, record.Sender); Assert.Null(masterDetailPage.BindingContext); Assert.Equal(0, masterDetailPage.Behaviors.Count); Assert.Equal(PageNavigationEvent.Destroy, record.Event); record = recorder.TakeFirst(); Assert.Equal(masterDetailPageViewModel, record.Sender); Assert.Equal(PageNavigationEvent.Destroy, record.Event); Assert.True(recorder.IsEmpty); }
public async void Navigate_FromMasterDetailPage() { var navigationService = new PageNavigationServiceMock(_container); var rootPage = new MasterDetailPageMock(); ((IPageAware)navigationService).Page = rootPage; Assert.IsType(typeof(ContentPageMock), rootPage.Detail); await navigationService.Navigate("TabbedPage"); Assert.IsType(typeof(TabbedPageMock), rootPage.Detail); await navigationService.Navigate("CarouselPage"); Assert.IsType(typeof(CarouselPageMock), rootPage.Detail); }
public async void Navigate_FromMasterDetailPage_ToTabbedPage_IsNotPresented() { var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade); var rootPage = new MasterDetailPageMock(); ((IPageAware)navigationService).Page = rootPage; rootPage.IsPresentedAfterNavigation = false; Assert.IsType(typeof(ContentPageMock), rootPage.Detail); Assert.False(rootPage.IsPresented); await navigationService.NavigateAsync("TabbedPage"); Assert.IsType(typeof(TabbedPageMock), rootPage.Detail); Assert.False(rootPage.IsPresented); }
public void MasterDetailPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder) { Title = "contentPageMock1" }; var contentPageMock2 = new ContentPageMock(eventRecoder) { Title = "contentPageMock2" }; var viewModelMock = new ViewModelMock(eventRecoder); var masterDetailPageMock = new MasterDetailPageMock(eventRecoder) { Master = contentPageMock1, Detail = contentPageMock2, BindingContext = viewModelMock }; LifecycleNoticeService.OnResume(new ApplicationMock { MainPage = masterDetailPageMock }); Assert.Equal(4, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(masterDetailPageMock, eventRecoder[0].Sender); Assert.Equal("OnResume", eventRecoder[0].CallerMemberName); Assert.Null(eventRecoder[0].Parameter); Assert.NotNull(eventRecoder[1]); Assert.Equal(viewModelMock, eventRecoder[1].Sender); Assert.Equal("OnResume", eventRecoder[1].CallerMemberName); Assert.Null(eventRecoder[1].Parameter); Assert.NotNull(eventRecoder[2]); Assert.Equal(contentPageMock1, eventRecoder[2].Sender); Assert.Equal("OnResume", eventRecoder[2].CallerMemberName); Assert.Null(eventRecoder[2].Parameter); Assert.NotNull(eventRecoder[3]); Assert.Equal(contentPageMock2, eventRecoder[3].Sender); Assert.Equal("OnResume", eventRecoder[3].CallerMemberName); Assert.Null(eventRecoder[3].Parameter); }
public void MasterDetailPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder) { Title = "contentPageMock1" }; var contentPageMock2 = new ContentPageMock(eventRecoder) { Title = "contentPageMock2" }; var viewModelMock = new ViewModelMock(eventRecoder); var masterDetailPageMock = new MasterDetailPageMock(eventRecoder) { Master = contentPageMock1, Detail = contentPageMock2, BindingContext = viewModelMock }; var parameter = "Hello, Parameter!"; LifecycleNoticeService.OnInitialize(masterDetailPageMock, parameter); Assert.Equal(4, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(masterDetailPageMock, eventRecoder[0].Sender); Assert.Equal("OnInitialize", eventRecoder[0].CallerMemberName); Assert.Equal(parameter, eventRecoder[0].Parameter); Assert.NotNull(eventRecoder[1]); Assert.Equal(viewModelMock, eventRecoder[1].Sender); Assert.Equal("OnInitialize", eventRecoder[1].CallerMemberName); Assert.Equal(parameter, eventRecoder[1].Parameter); Assert.NotNull(eventRecoder[2]); Assert.Equal(contentPageMock1, eventRecoder[2].Sender); Assert.Equal("OnInitialize", eventRecoder[2].CallerMemberName); Assert.Equal(parameter, eventRecoder[2].Parameter); Assert.NotNull(eventRecoder[3]); Assert.Equal(contentPageMock2, eventRecoder[3].Sender); Assert.Equal("OnInitialize", eventRecoder[3].CallerMemberName); Assert.Equal(parameter, eventRecoder[3].Parameter); }
public void Navigate_FromMasterDetailPage_ToSamePage() { var navigationService = new PageNavigationServiceMock(_container); var rootPage = new MasterDetailPageMock(); ((IPageAware)navigationService).Page = rootPage; Assert.IsType(typeof(ContentPageMock), rootPage.Detail); navigationService.Navigate("TabbedPage"); var firstDetailPage = rootPage.Detail; Assert.IsType(typeof(TabbedPageMock), firstDetailPage); navigationService.Navigate("TabbedPage"); Assert.Equal(firstDetailPage, rootPage.Detail); }
public async void Navigate_FromMasterDetailPage_ToSamePage() { var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade); var rootPage = new MasterDetailPageMock(); ((IPageAware)navigationService).Page = rootPage; Assert.IsType(typeof(ContentPageMock), rootPage.Detail); await navigationService.NavigateAsync("TabbedPage"); var firstDetailPage = rootPage.Detail; Assert.IsType(typeof(TabbedPageMock), firstDetailPage); await navigationService.NavigateAsync("TabbedPage"); Assert.Equal(firstDetailPage, rootPage.Detail); }