public void CarouselPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder) { Title = "contentPageMock1" }; var contentPageMock2 = new ContentPageMock(eventRecoder) { Title = "contentPageMock2" }; var viewModelMock = new ViewModelMock(eventRecoder); var carouselPageMock = new CarouselPageMock(eventRecoder) { BindingContext = viewModelMock }; carouselPageMock.Children.Add(contentPageMock1); carouselPageMock.Children.Add(contentPageMock2); LifecycleNoticeService.OnResume(new ApplicationMock { MainPage = carouselPageMock }); Assert.Equal(4, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(carouselPageMock, 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 CarouselPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder) { Title = "contentPageMock1" }; var contentPageMock2 = new ContentPageMock(eventRecoder) { Title = "contentPageMock2" }; var viewModelMock = new ViewModelMock(eventRecoder); var carouselPageMock = new CarouselPageMock(eventRecoder) { BindingContext = viewModelMock }; carouselPageMock.Children.Add(contentPageMock1); carouselPageMock.Children.Add(contentPageMock2); var parameter = "Hello, Parameter!"; LifecycleNoticeService.OnInitialize(carouselPageMock, parameter); Assert.Equal(4, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(carouselPageMock, 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 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); }
public async void RecursiveInject() { var eventRecoder = new EventRecorder(); var carouselPageMock1 = new CarouselPageMock(eventRecoder); var tabbedPageMock1 = new TabbedPageMock(eventRecoder); tabbedPageMock1.Children.Add(new ContentPage()); tabbedPageMock1.Children.Add(carouselPageMock1); var navigationPage = new NavigationPageMock(tabbedPageMock1, eventRecoder); var carouselPageMock2 = new CarouselPageMock(eventRecoder); var tabbedPageMock2 = new TabbedPageMock(eventRecoder); tabbedPageMock2.Children.Add(new ContentPage()); tabbedPageMock2.Children.Add(carouselPageMock2); await tabbedPageMock1.Navigation.PushAsync(tabbedPageMock2); var actual = new BehaviorInjector(); actual.Inject(navigationPage); Assert.Equal(1, navigationPage.Behaviors.Count); Assert.IsType <NavigationPageBehavior>(navigationPage.Behaviors.Single()); Assert.Equal(1, tabbedPageMock1.Behaviors.Count); Assert.IsType <MultiPageBehavior <Page> >(tabbedPageMock1.Behaviors.Single()); Assert.Equal(1, tabbedPageMock2.Behaviors.Count); Assert.IsType <MultiPageBehavior <Page> >(tabbedPageMock2.Behaviors.Single()); Assert.Equal(1, carouselPageMock1.Behaviors.Count); Assert.IsType <MultiPageBehavior <ContentPage> >(carouselPageMock1.Behaviors.Single()); Assert.Equal(1, carouselPageMock2.Behaviors.Count); Assert.IsType <MultiPageBehavior <ContentPage> >(carouselPageMock2.Behaviors.Single()); }