本文整理汇总了C#中Prism.Forms.Tests.Mocks.PageNavigationServiceMock.NavigateAsync方法的典型用法代码示例。如果您正苦于以下问题:C# PageNavigationServiceMock.NavigateAsync方法的具体用法?C# PageNavigationServiceMock.NavigateAsync怎么用?C# PageNavigationServiceMock.NavigateAsync使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Prism.Forms.Tests.Mocks.PageNavigationServiceMock
的用法示例。
在下文中一共展示了PageNavigationServiceMock.NavigateAsync方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Navigate_ToContentPage_ByName
public async void Navigate_ToContentPage_ByName()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("ContentPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
Assert.IsType(typeof(ContentPageMock), rootPage.Navigation.ModalStack[0]);
}
示例2: Navigate_ToUnregisteredPage_ByName
public void Navigate_ToUnregisteredPage_ByName()
{
Assert.ThrowsAsync<NullReferenceException>(async () =>
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("UnregisteredPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 0);
});
}
示例3: Navigate_FromMasterDetailPage_ToTabbedPage_IsNotPresented_FromViewModel
public async void Navigate_FromMasterDetailPage_ToTabbedPage_IsNotPresented_FromViewModel()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new MasterDetailPageEmptyMock();
((IPageAware)navigationService).Page = rootPage;
((MasterDetailPageEmptyMockViewModel)rootPage.BindingContext).IsPresentedAfterNavigation = false;
Assert.Null(rootPage.Detail);
Assert.False(rootPage.IsPresented);
await navigationService.NavigateAsync("TabbedPage");
Assert.IsType(typeof(TabbedPageMock), rootPage.Detail);
Assert.False(rootPage.IsPresented);
}
示例4: Navigate_FromMasterDetailPage_ToTabbedPage_IsPresented
public async void Navigate_FromMasterDetailPage_ToTabbedPage_IsPresented()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new MasterDetailPageMock();
((IPageAware)navigationService).Page = rootPage;
rootPage.IsPresentedAfterNavigation = true;
Assert.IsType(typeof(ContentPageMock), rootPage.Detail);
Assert.False(rootPage.IsPresented);
await navigationService.NavigateAsync("TabbedPage");
Assert.IsType(typeof(TabbedPageMock), rootPage.Detail);
Assert.True(rootPage.IsPresented);
}
示例5: DeepNavigate_ToMasterDetailPage_ToSamePage_ToTabbedPage
public async void DeepNavigate_ToMasterDetailPage_ToSamePage_ToTabbedPage()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("MasterDetailPage/ContentPage/TabbedPage");
var masterDetail = rootPage.Navigation.ModalStack[0] as MasterDetailPageMock;
Assert.NotNull(masterDetail);
Assert.NotNull(masterDetail.Detail);
Assert.IsType(typeof(ContentPageMock), masterDetail.Detail);
var tabbedPage = masterDetail.Navigation.ModalStack[0] as TabbedPageMock;
Assert.NotNull(tabbedPage);
}
示例6: Navigate_FromMasterDetailPage_ToSamePage
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);
}
示例7: DeepNavigate_From_ContentPage_To_MasterDetailPage
public async void DeepNavigate_From_ContentPage_To_MasterDetailPage()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("ContentPage/MasterDetailPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
Assert.True(rootPage.Navigation.ModalStack[0].Navigation.ModalStack.Count == 1);
}
示例8: NavigateAsync_ToContentPage_ThenGoBack
public async void NavigateAsync_ToContentPage_ThenGoBack()
{
var pageMock = new ContentPageMock();
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
((IPageAware)navigationService).Page = pageMock;
var rootPage = new NavigationPage(pageMock);
Assert.IsType(typeof(ContentPageMock), rootPage.CurrentPage);
await navigationService.NavigateAsync("TabbedPage");
Assert.True(rootPage.Navigation.NavigationStack.Count == 2);
Assert.IsType(typeof(TabbedPageMock), rootPage.CurrentPage);
await navigationService.GoBackAsync();
Assert.True(rootPage.Navigation.NavigationStack.Count == 1);
Assert.IsType(typeof(ContentPageMock), rootPage.CurrentPage);
}
示例9: Navigate_ToCarouselPage_ByName_ViewModelHasINavigationAware
public async void Navigate_ToCarouselPage_ByName_ViewModelHasINavigationAware()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("CarouselPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
var cPage = rootPage.Navigation.ModalStack[0] as CarouselPageMock;
Assert.NotNull(cPage);
var viewModel = cPage.BindingContext as CarouselPageMockViewModel;
Assert.NotNull(viewModel);
Assert.True(viewModel.OnNavigatedToCalled);
}
示例10: Navigate_ToContentPage_ViewModelHasIConfirmNavigation_False
public async void Navigate_ToContentPage_ViewModelHasIConfirmNavigation_False()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new ContentPage() { BindingContext = new ContentPageMockViewModel() };
((IPageAware)navigationService).Page = rootPage;
var viewModel = rootPage.BindingContext as ContentPageMockViewModel;
Assert.False(viewModel.OnConfirmNavigationCalled);
var navParams = new NavigationParameters();
navParams.Add("canNavigate", false);
await navigationService.NavigateAsync("ContentPage", navParams);
Assert.True(viewModel.OnConfirmNavigationCalled);
Assert.True(rootPage.Navigation.ModalStack.Count == 0);
}
示例11: Navigate_ToContentPage_ViewModelHasIConfirmNavigation_True
public async void Navigate_ToContentPage_ViewModelHasIConfirmNavigation_True()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage() { BindingContext = new ContentPageMockViewModel() };
((IPageAware)navigationService).Page = rootPage;
var viewModel = rootPage.BindingContext as ContentPageMockViewModel;
Assert.False(viewModel.OnConfirmNavigationCalled);
await navigationService.NavigateAsync("ContentPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
Assert.NotNull(viewModel);
Assert.True(viewModel.OnConfirmNavigationCalled);
}
示例12: Navigate_ToContentPage_PageHasIConfirmNavigation_True
public async void Navigate_ToContentPage_PageHasIConfirmNavigation_True()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new ContentPageMock();
((IPageAware)navigationService).Page = rootPage;
Assert.False(rootPage.OnConfirmNavigationCalled);
await navigationService.NavigateAsync("ContentPage");
Assert.True(rootPage.OnConfirmNavigationCalled);
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
}
示例13: Navigate_ToContentPage_PageHasINavigationAware
public async void Navigate_ToContentPage_PageHasINavigationAware()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("ContentPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
var contentPage = rootPage.Navigation.ModalStack[0] as ContentPageMock;
Assert.NotNull(contentPage);
Assert.True(contentPage.OnNavigatedToCalled);
var nextPageNavService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
((IPageAware)nextPageNavService).Page = contentPage;
await nextPageNavService.NavigateAsync("NavigationPage");
Assert.True(contentPage.OnNavigatedFromCalled);
Assert.True(contentPage.Navigation.ModalStack.Count == 1);
}
示例14: Navigate_ToContentPage_ViewModelHasINavigationAware
public async void Navigate_ToContentPage_ViewModelHasINavigationAware()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("ContentPage");
Assert.True(rootPage.Navigation.ModalStack.Count == 1);
Assert.IsType(typeof(ContentPageMock), rootPage.Navigation.ModalStack[0]);
var viewModel = rootPage.Navigation.ModalStack[0].BindingContext as ContentPageMockViewModel;
Assert.NotNull(viewModel);
Assert.True(viewModel.OnNavigatedToCalled);
var nextPageNavService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
((IPageAware)nextPageNavService).Page = rootPage.Navigation.ModalStack[0];
await nextPageNavService.NavigateAsync("NavigationPage");
Assert.True(viewModel.OnNavigatedFromCalled);
}
示例15: DeepNavigate_ToCarouselPage_ToContentPage
public async void DeepNavigate_ToCarouselPage_ToContentPage()
{
var navigationService = new PageNavigationServiceMock(_container, _applicationProvider, _loggerFacade);
var rootPage = new Xamarin.Forms.ContentPage();
((IPageAware)navigationService).Page = rootPage;
await navigationService.NavigateAsync("CarouselPage/ContentPage");
var tabbedPage = rootPage.Navigation.ModalStack[0] as CarouselPageMock;
Assert.NotNull(tabbedPage);
Assert.NotNull(tabbedPage.CurrentPage);
Assert.IsType(typeof(ContentPageMock), tabbedPage.CurrentPage);
}