public async Task NavigationService_StrategyExecuted_beforePush_GoToAsync_Should_HaveTheSameOrder() { // Arrange var strategy = new RecordingStrategy(ServiceLocator.Get <IPageLocator>()); var service = new NavigationService(ServiceLocator.Get <INavigation>(), ServiceLocator.Get <IPageLocator>(), beforePushStrategy: strategy); var pages = new List <ApplicationPage> { ApplicationPage.MainMenuPage, ApplicationPage.ListViewPage, ApplicationPage.LoginPage, ApplicationPage.ListViewPage, }; // Act await service.GoToAsync(pages); // Assert strategy.Events.Should().Be(string.Join(string.Empty, pages.Select(p => $"PUSH{p}"))); }
public async Task NavigationService_StrategyExecuted_PopPageAndGoToAsync_Should_HaveTheSameOrderWith_Amount() { // Arrange var strategy = new RecordingStrategy(ServiceLocator.Get <IPageLocator>()); var service = new NavigationService(ServiceLocator.Get <INavigation>(), ServiceLocator.Get <IPageLocator>(), strategy, strategy); await service.GoToAsync(ApplicationPage.SideBar); strategy.Reset(); var pages = new List <ApplicationPage> { ApplicationPage.MainMenuPage, ApplicationPage.ListViewPage, ApplicationPage.LoginPage, ApplicationPage.ListViewPage, }; // Act await service.PopPageAndGoToAsync(2, pages); // Assert strategy.Events.Should().Be($"POPMainMenuPagePOPSideBar{string.Join(string.Empty, pages.Select(p => $"PUSH{p}"))}"); }