Esempio n. 1
0
        public TabbedPageMock(PageNavigationEventRecorder recorder)
        {
            ViewModelLocator.SetAutowireViewModel(this, true);

            Children.Add(new Tab1Mock(recorder)
            {
                Title = "Page 1"
            });
            Children.Add(new Tab2Mock()
            {
                Title = "Page 2", BindingContext = null
            });
            Children.Add(new Tab3Mock(recorder)
            {
                Title = "Page 3"
            });
            Children.Add(new NavigationPageMock(recorder, new ContentPageMock(recorder))
            {
                Title = "Page 4"
            });
            Children.Add(new NavigationPageMock(recorder, new PageMock())
            {
                Title = "Page 5"
            });

            PageNavigationEventRecorder = recorder;

            var recordable = BindingContext as IPageNavigationEventRecordable;

            if (recordable != null)
            {
                recordable.PageNavigationEventRecorder = recorder;
            }
        }
Esempio n. 2
0
        public ContentPageMock(PageNavigationEventRecorder recorder)
        {
            ViewModelLocator.SetAutowireViewModel(this, true);

            PageNavigationEventRecorder = recorder;
            ((IPageNavigationEventRecordable)BindingContext).PageNavigationEventRecorder = recorder;
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public MasterDetailPageMock(PageNavigationEventRecorder recorder)
        {
            Detail = new ContentPageMock(recorder);

            ViewModelLocator.SetAutowireViewModel(this, true);

            PageNavigationEventRecorder = recorder;
            ((IPageNavigationEventRecordable)BindingContext).PageNavigationEventRecorder = recorder;
        }
Esempio n. 5
0
        public MasterDetailPageMock(PageNavigationEventRecorder recorder, Page masterPage, Page detailPage)
        {
            Master = masterPage;
            Detail = detailPage;

            ViewModelLocator.SetAutowireViewModel(this, true);

            PageNavigationEventRecorder = recorder;
            ((IPageNavigationEventRecordable)BindingContext).PageNavigationEventRecorder = recorder;
        }
        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);
        }
Esempio n. 7
0
        public async void Navigate_ToContentPage_ByAbsoluteUri()
        {
            // Set up top page.
            var recorder            = new PageNavigationEventRecorder();;
            var rootPage            = new ContentPageMock(recorder);
            var rootPageViewModel   = (ViewModelBase)rootPage.BindingContext;
            var applicationProvider = new ApplicationProviderMock(rootPage);
            var navigationService   = new PageNavigationServiceMock(_container, applicationProvider, _loggerFacade, recorder);

            await navigationService.NavigateAsync(new Uri("http://localhost/ContentPage", UriKind.Absolute));

            var navigatedPage = applicationProvider.MainPage;

            Assert.IsType(typeof(ContentPageMock), navigatedPage);
            Assert.NotEqual(rootPage, _applicationProvider.MainPage);

            var record = recorder.TakeFirst();

            Assert.Equal(navigatedPage, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatingTo, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(navigatedPage.BindingContext, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatingTo, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(rootPage, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(rootPageViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(navigatedPage, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedTo, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(navigatedPage.BindingContext, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedTo, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(rootPage, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(rootPageViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            Assert.True(recorder.IsEmpty);
        }
Esempio n. 8
0
        public void DestroyTabbedPage()
        {
            var recorder            = new PageNavigationEventRecorder();
            var tabbedPage          = new TabbedPageMock(recorder);
            var tabbedPageViewModel = tabbedPage.BindingContext;
            var childPage1          = tabbedPage.Children[0];
            var childPage1ViewModel = childPage1.BindingContext;
            var childPage2          = tabbedPage.Children[1];
            var childPage2ViewModel = childPage2.BindingContext;
            var childPage3          = tabbedPage.Children[2];
            var childPage3ViewModel = childPage3.BindingContext;

            PageUtilities.DestroyPage(tabbedPage);

            Assert.Equal(7, recorder.Records.Count);

            // childPage3
            Assert.Equal(childPage3, recorder.Records[0].Sender);
            Assert.Null(childPage3.BindingContext);
            Assert.Equal(0, childPage3.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[0].Event);

            Assert.Equal(childPage3ViewModel, recorder.Records[1].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[1].Event);

            // childPage2 : This page is PageMock.
            Assert.Equal(childPage2ViewModel, recorder.Records[2].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[2].Event);

            // childPage1
            Assert.Equal(childPage1, recorder.Records[3].Sender);
            Assert.Null(childPage1.BindingContext);
            Assert.Equal(0, childPage1.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[3].Event);

            Assert.Equal(childPage1ViewModel, recorder.Records[4].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[4].Event);

            // tabbedPage
            Assert.Equal(tabbedPage, recorder.Records[5].Sender);
            Assert.Null(tabbedPage.BindingContext);
            Assert.Equal(0, tabbedPage.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[5].Event);

            Assert.Equal(tabbedPageViewModel, recorder.Records[6].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[6].Event);
        }
Esempio n. 9
0
        public void DestroyContentPage()
        {
            var recorder  = new PageNavigationEventRecorder();
            var page      = new ContentPageMock(recorder);
            var viewModel = (ViewModelBase)page.BindingContext;

            PageUtilities.DestroyPage(page);

            Assert.Equal(2, recorder.Records.Count);

            Assert.Equal(page, recorder.Records[0].Sender);
            Assert.Null(page.BindingContext);
            Assert.Equal(0, page.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[0].Event);

            Assert.Equal(viewModel, recorder.Records[1].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[1].Event);
        }
Esempio n. 10
0
        public void DestroyNavigationPage()
        {
            var recorder                = new PageNavigationEventRecorder();
            var navigationPage          = new NavigationPageMock(recorder);
            var navigationPageViewModel = navigationPage.BindingContext;
            var contentPage1            = navigationPage.CurrentPage;
            var contentPage1ViewModel   = contentPage1.BindingContext;
            var contentPage2            = new ContentPageMock(recorder);
            var contentPage2ViewModel   = contentPage2.BindingContext;

            contentPage1.Navigation.PushAsync(contentPage2);

            PageUtilities.DestroyPage(navigationPage);

            Assert.Equal(6, recorder.Records.Count);

            // contentPage2
            Assert.Equal(contentPage2, recorder.Records[0].Sender);
            Assert.Null(contentPage2.BindingContext);
            Assert.Equal(0, contentPage2.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[0].Event);

            Assert.Equal(contentPage2ViewModel, recorder.Records[1].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[1].Event);

            // contentPage1
            Assert.Equal(contentPage1, recorder.Records[2].Sender);
            Assert.Null(contentPage1.BindingContext);
            Assert.Equal(0, contentPage1.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[2].Event);

            Assert.Equal(contentPage1ViewModel, recorder.Records[3].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[3].Event);

            // navigationPage
            Assert.Equal(navigationPage, recorder.Records[4].Sender);
            Assert.Null(navigationPage.BindingContext);
            Assert.Equal(0, navigationPage.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[4].Event);

            Assert.Equal(navigationPageViewModel, recorder.Records[5].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[5].Event);
        }
Esempio n. 11
0
        public void DestroyWithModalStack()
        {
            var recorder     = new PageNavigationEventRecorder();
            var contentPage1 = new ContentPageMock(recorder);
            var viewModel1   = contentPage1.BindingContext;
            var contentPage2 = new ContentPageMock(recorder);
            var viewModel2   = contentPage2.BindingContext;
            var contentPage3 = new ContentPageMock(recorder);
            var viewModel3   = contentPage3.BindingContext;
            var modalStack   = new List <Page> {
                contentPage2, contentPage3
            };

            PageUtilities.DestroyWithModalStack(contentPage1, modalStack);

            var record = recorder.TakeFirst();

            Assert.Equal(contentPage3, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(viewModel3, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(contentPage2, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(viewModel2, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(contentPage1, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(viewModel1, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            Assert.True(recorder.IsEmpty);
        }
Esempio n. 12
0
        public CarouselPageMock(PageNavigationEventRecorder recorder)
        {
            ViewModelLocator.SetAutowireViewModel(this, true);

            Children.Add(new ContentPage()
            {
                Title = "Page 1"
            });
            Children.Add(new ContentPageMock(recorder)
            {
                Title = "Page 2"
            });
            Children.Add(new ContentPage()
            {
                Title = "Page 3"
            });

            PageNavigationEventRecorder = recorder;
            ((IPageNavigationEventRecordable)BindingContext).PageNavigationEventRecorder = recorder;
        }
Esempio n. 13
0
        public void DestroyCarouselPage()
        {
            var recorder              = new PageNavigationEventRecorder();
            var carouselPage          = new CarouselPageMock(recorder);
            var carouselPageViewModel = carouselPage.BindingContext;
            var childPage2            = carouselPage.Children[1];
            var childPage2ViewModel   = childPage2.BindingContext;

            PageUtilities.DestroyPage(carouselPage);

            Assert.Equal(6, recorder.Records.Count);

            // childPage3 : This page is ContentPage.
            Assert.Equal(carouselPageViewModel, recorder.Records[0].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[0].Event);

            // childPage2
            Assert.Equal(childPage2, recorder.Records[1].Sender);
            Assert.Null(childPage2.BindingContext);
            Assert.Equal(0, childPage2.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[1].Event);

            Assert.Equal(childPage2ViewModel, recorder.Records[2].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[2].Event);

            // childPage1 : This page is ContentPage.
            Assert.Equal(carouselPageViewModel, recorder.Records[3].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[3].Event);

            // tabbedPage
            Assert.Equal(carouselPage, recorder.Records[4].Sender);
            Assert.Null(carouselPage.BindingContext);
            Assert.Equal(0, carouselPage.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[4].Event);

            Assert.Equal(carouselPageViewModel, recorder.Records[5].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[5].Event);
        }
Esempio n. 14
0
 public Task InitializeAsync(INavigationParameters parameters)
 {
     InitializeAsyncCalled = true;
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.OnInitializedAsync);
     return(Task.CompletedTask);
 }
Esempio n. 15
0
 public PageMock(PageNavigationEventRecorder recorder)
 {
     PageNavigationEventRecorder = recorder;
 }
 public void OnNavigatedFrom(INavigationParameters parameters)
 {
     OnNavigatedFromCalled   = true;
     NavigatedFromParameters = parameters;
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.OnNavigatedFrom);
 }
Esempio n. 17
0
 public NavigationPageMock(PageNavigationEventRecorder recorder) : this(recorder, new ContentPageMock(recorder))
 {
 }
Esempio n. 18
0
 public Tab2Mock(PageNavigationEventRecorder recorder) : base(recorder)
 {
 }
Esempio n. 19
0
 public void OnNavigatingTo(INavigationParameters parameters)
 {
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.OnNavigatingTo);
 }
        public void DestroyTabbedPage()
        {
            var recorder            = new PageNavigationEventRecorder();
            var tabbedPage          = new TabbedPageMock(recorder);
            var tabbedPageViewModel = tabbedPage.BindingContext;
            var tab1               = tabbedPage.Children[0];
            var tab1ViewModel      = tab1.BindingContext;
            var tab2               = tabbedPage.Children[1];
            var tab2ViewModel      = tab2.BindingContext;
            var tab3               = tabbedPage.Children[2];
            var tab3ViewModel      = tab3.BindingContext;
            var tab4               = tabbedPage.Children[3];
            var tab4Child          = ((NavigationPage)tab4).CurrentPage;
            var tab4ViewModel      = tab4.BindingContext;
            var tab4ChildViewModel = tab4Child.BindingContext;
            var tab5               = tabbedPage.Children[4];
            var tab5Child          = ((NavigationPage)tab5).CurrentPage;
            var tab5ViewModel      = tab5.BindingContext;
            var tab5ChildViewModel = tab5Child.BindingContext;


            PageUtilities.DestroyPage(tabbedPage);

            Assert.Equal(13, recorder.Records.Count);

            //tab 5
            Assert.Equal(tab5ViewModel, recorder.Records[0].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[0].Event);

            Assert.Equal(tab5, recorder.Records[1].Sender);
            Assert.Equal(0, tab5.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[1].Event);

            Assert.Equal(tab5ChildViewModel, recorder.Records[2].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[2].Event);

            //tab 4
            Assert.Equal(tab4Child, recorder.Records[3].Sender);
            Assert.Equal(0, tab4Child.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[3].Event);

            Assert.Equal(tab4ChildViewModel, recorder.Records[4].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[4].Event);

            Assert.Equal(tab4, recorder.Records[5].Sender);
            Assert.Equal(0, tab4.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[5].Event);

            Assert.Equal(tab4ViewModel, recorder.Records[6].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[6].Event);

            //tab 3
            Assert.Equal(tab3, recorder.Records[7].Sender);
            Assert.Null(tab3.BindingContext);
            Assert.Equal(0, tab3.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[7].Event);

            Assert.Equal(tab3ViewModel, recorder.Records[8].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[8].Event);

            //tab 2 : PageMock has no binding context so it has no entries.

            //tab 1
            Assert.Equal(tab1, recorder.Records[9].Sender);
            Assert.Null(tab1.BindingContext);
            Assert.Equal(0, tab1.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[9].Event);

            Assert.Equal(tab1ViewModel, recorder.Records[10].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[10].Event);

            //TabbedPage
            Assert.Equal(tabbedPage, recorder.Records[11].Sender);
            Assert.Null(tabbedPage.BindingContext);
            Assert.Equal(0, tabbedPage.Behaviors.Count);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[11].Event);

            Assert.Equal(tabbedPageViewModel, recorder.Records[12].Sender);
            Assert.Equal(PageNavigationEvent.Destroy, recorder.Records[12].Event);
        }
Esempio n. 21
0
 public void Destroy()
 {
     PageNavigationEventRecorder.Record(this, PageNavigationEvent.Destroy);
 }
Esempio n. 22
0
 public void OnNavigatedTo(INavigationParameters parameters)
 {
     OnNavigatedToCalled = true;
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.OnNavigatedTo);
 }
Esempio n. 23
0
 public SecondContentPageMock(PageNavigationEventRecorder recorder) : base(recorder)
 {
 }
Esempio n. 24
0
 public void OnNavigatedFrom(NavigationParameters parameters)
 {
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.OnNavigatedFrom);
 }
        public async Task GoBackToRootAsync_PopsToRoot_INavigationAware_Destroy()
        {
            var recorder          = new PageNavigationEventRecorder();
            var navigationService = new PageNavigationServiceMock(null, null, null);
            var rootPage          = new Xamarin.Forms.NavigationPage();

            ((IPageAware)navigationService).Page = rootPage;

            var page1 = new ContentPageMock(recorder)
            {
                Title = "Page 1"
            };
            await rootPage.Navigation.PushAsync(page1);

            var page2 = new ContentPageMock(recorder)
            {
                Title = "Page 2"
            };
            var page2ViewModel = page2.BindingContext;
            await rootPage.Navigation.PushAsync(page2);

            var page3 = new ContentPageMock(recorder)
            {
                Title = "Page 3"
            };
            var page3ViewModel = page3.BindingContext;
            await rootPage.Navigation.PushAsync(page3);

            var page4 = new ContentPageMock(recorder)
            {
                Title = "Page 4"
            };
            var page4ViewModel = page4.BindingContext;
            await rootPage.Navigation.PushAsync(page4);

            Assert.True(rootPage.Navigation.NavigationStack.Count == 4);

            await navigationService.GoBackToRootAsync();

            Assert.Equal(1, rootPage.Navigation.NavigationStack.Count);
            Assert.Equal(page1, rootPage.Navigation.NavigationStack[0]);
            Assert.Equal(16, recorder.Records.Count);

            //root
            var record = recorder.TakeFirst();

            Assert.Equal(page1, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatingTo, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page1.BindingContext, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatingTo, record.Event);

            //page 4
            record = recorder.TakeFirst();
            Assert.Equal(page4, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page4ViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page4, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page4ViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            //page 3
            record = recorder.TakeFirst();
            Assert.Equal(page3, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page3ViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page3, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page3ViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            //page 2
            record = recorder.TakeFirst();
            Assert.Equal(page2, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page2ViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedFrom, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page2, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page2ViewModel, record.Sender);
            Assert.Equal(PageNavigationEvent.Destroy, record.Event);

            //root
            record = recorder.TakeFirst();
            Assert.Equal(page1, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedTo, record.Event);

            record = recorder.TakeFirst();
            Assert.Equal(page1.BindingContext, record.Sender);
            Assert.Equal(PageNavigationEvent.OnNavigatedTo, record.Event);
        }
Esempio n. 26
0
 public void Initialize(INavigationParameters parameters)
 {
     InitializeCalled = true;
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.OnInitialized);
 }
Esempio n. 27
0
 public void Destroy()
 {
     DestroyCalled = true;
     PageNavigationEventRecorder?.Record(this, PageNavigationEvent.Destroy);
 }
Esempio n. 28
0
 public NavigationPageEmptyMock_Reused(PageNavigationEventRecorder recorder) : base(recorder)
 {
 }