private void AdditionalSetup(MvxTestFixture fixture) { var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.Load(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxNavigateEventArgs>())).Returns(() => new SimpleTestViewModel()); mockLocator.Setup( m => m.Reload(It.IsAny <IMvxViewModel>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxNavigateEventArgs>())).Returns(() => new SimpleTestViewModel()); var mockCollection = new Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); fixture.Ioc.RegisterSingleton(mockLocator.Object); var loader = new MvxViewModelLoader(mockCollection.Object); MockDispatcher = new Mock <NavigationMockDispatcher>(MockBehavior.Loose) { CallBase = true }; var navigationService = RoutingService = new MvxNavigationService(null, loader) { ViewDispatcher = MockDispatcher.Object, }; RoutingService.LoadRoutes(new[] { typeof(RoutingServiceTests).Assembly }); fixture.Ioc.RegisterSingleton(navigationService); fixture.Ioc.RegisterSingleton <IMvxStringToTypeParser>(new MvxStringToTypeParser()); }
protected override void AdditionalSetup() { base.AdditionalSetup(); var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.Load(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>())).Returns(() => new NavigationServiceTests.SimpleTestViewModel()); mockLocator.Setup( m => m.Reload(It.IsAny <IMvxViewModel>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>())).Returns(() => new NavigationServiceTests.SimpleTestViewModel()); var mockCollection = new Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); Ioc.RegisterSingleton(mockLocator.Object); var loader = new MvxViewModelLoader(mockCollection.Object); MockDispatcher = new Mock <NavigationMockDispatcher>(MockBehavior.Loose) { CallBase = true }; var navigationService = RoutingService = new MvxNavigationService(null, loader) { ViewDispatcher = MockDispatcher.Object, }; Ioc.RegisterSingleton(navigationService); Ioc.RegisterSingleton <IMvxStringToTypeParser>(new MvxStringToTypeParser()); }
public void Test_FailedViewModel() { _fixture.ClearAll(); var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.Load(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxNavigateEventArgs>())) .Throws <MvxException>(); var mockCollection = new Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null); var state = new MvxBundle(); var loader = new MvxViewModelLoader(mockCollection.Object); var args = new MvxNavigateEventArgs(NavigationMode.Show); Assert.Throws <MvxException>(() => { var viewModel = loader.LoadViewModel(request, state, args); }); }
public async Task Test_NormalViewModel() { _fixture.ClearAll(); IMvxViewModel outViewModel = new Test2ViewModel(); var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.Load(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxNavigateEventArgs>())) .Returns(() => outViewModel); var mockCollection = new Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null); var state = new MvxBundle(); var loader = new MvxViewModelLoader(mockCollection.Object); var args = new MvxNavigateEventArgs(NavigationMode.Show); var viewModel = await loader.LoadViewModel(request, state, args).ConfigureAwait(false); Assert.Equal(outViewModel, viewModel); }
public void Test_FailedViewModel() { IMvxViewModel outViewModel = null; var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.TryLoad(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>(), out outViewModel)) .Returns(() => false); var mockCollection = new Moq.Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); Ioc.RegisterSingleton(mockCollection.Object); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null, MvxRequestedBy.UserAction); var state = new MvxBundle(); var loader = new MvxViewModelLoader(); var viewModel = loader.LoadViewModel(request, state); Assert.Fail("We should never reach this line"); }
public void Test_NormalViewModel() { _fixture.ClearAll(); IMvxViewModel outViewModel = new Test2ViewModel(); var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.Load(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>())) .Returns(() => outViewModel); var mockCollection = new Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null); var state = new MvxBundle(); var loader = new MvxViewModelLoader(mockCollection.Object); var viewModel = loader.LoadViewModel(request, state); Assert.Equal(outViewModel, viewModel); }
public void Test_NormalViewModel() { IMvxViewModel outViewModel = new Test2ViewModel(); var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.TryLoad(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>(), out outViewModel)) .Returns(() => true); var mockCollection = new Moq.Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); Ioc.RegisterSingleton(mockCollection.Object); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null, MvxRequestedBy.UserAction); var state = new MvxBundle(); var loader = new MvxViewModelLoader(); var viewModel = loader.LoadViewModel(request, state); Assert.AreSame(outViewModel, viewModel); Assert.AreEqual(MvxRequestedBy.UserAction, viewModel.RequestedBy); }
public void Test_FailedViewModel() { ClearAll(); var mockLocator = new Mock <IMvxViewModelLocator>(); mockLocator.Setup( m => m.Load(It.IsAny <Type>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxBundle>())) .Throws <MvxException>(); var mockCollection = new Moq.Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => mockLocator.Object); Ioc.RegisterSingleton(mockCollection.Object); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null, MvxRequestedBy.UserAction); var state = new MvxBundle(); var loader = new MvxViewModelLoader(); Assert.Throws <MvxException>(() => { var viewModel = loader.LoadViewModel(request, state); }); }
public void Test_LoaderForNull() { _fixture.ClearAll(); var request = new MvxViewModelRequest <MvxNullViewModel>(null, null); var state = new MvxBundle(); var loader = new MvxViewModelLoader(null); var viewModel = loader.LoadViewModel(request, state); Assert.IsType <MvxNullViewModel>(viewModel); }
public void TestLoaderForNull() { ClearAll(); var request = new MvxViewModelRequest <MvxNullViewModel>(null, null, MvxRequestedBy.UserAction); var state = new MvxBundle(); var loader = new MvxViewModelLoader(); var viewModel = loader.LoadViewModel(request, state); Assert.IsInstanceOf <MvxNullViewModel>(viewModel); }
public void Test_LoaderForNull() { _fixture.ClearAll(); var request = new MvxViewModelRequest <MvxNullViewModel>(null, null); var state = new MvxBundle(); var loader = new MvxViewModelLoader(null); var args = new MvxNavigateEventArgs(NavigationMode.Show); var viewModel = loader.LoadViewModel(request, state, args); Assert.IsType <MvxNullViewModel>(viewModel); }
public void IncludeMvvmcross64() { _ = new MvxSettings(); _ = new MvxStringToTypeParser(); //?? //_ = new MvxPluginManager(null); //should not be required _ = new MvxViewModelLoader(null); _ = new MvxNavigationService(null, null); _ = new MvxViewModelByNameLookup(); _ = new MvxViewModelViewTypeFinder(null, null); _ = new MvxViewModelViewLookupBuilder(); _ = new MvxCommandCollectionBuilder(); _ = new MvxStringDictionaryNavigationSerializer(); _ = new MvxChildViewModelCache(); _ = new MvxWeakCommandHelper(); }
public async Task Test_FailedViewModelLocatorCollection() { _fixture.ClearAll(); var mockCollection = new Mock <IMvxViewModelLocatorCollection>(); mockCollection.Setup(m => m.FindViewModelLocator(It.IsAny <MvxViewModelRequest>())) .Returns(() => null); var parameters = new Dictionary <string, string> { { "foo", "bar" } }; var request = new MvxViewModelRequest <Test2ViewModel>(new MvxBundle(parameters), null); var state = new MvxBundle(); var loader = new MvxViewModelLoader(mockCollection.Object); var args = new MvxNavigateEventArgs(NavigationMode.Show); await Assert.ThrowsAsync <MvxException>(async() => { var viewModel = await loader.LoadViewModel(request, state, args).ConfigureAwait(false); }).ConfigureAwait(false); }
public void Include(MvxViewModelLoader loader) { _ = new MvxViewModelLoader(null); }