public void TitleIsSetToTypeName() { var vm = new ViewModelMock(); TestOutputHelper.WriteLine(vm.Title); Assert.Equal(nameof(ViewModelMock).Humanize(LetterCasing.Title), vm.Title); }
public void ContentPage() { var eventRecoder = new EventRecorder(); var viewModelMock = new ViewModelMock(eventRecoder); var contentPageMock = new ContentPageMock(eventRecoder) { BindingContext = viewModelMock }; LifecycleNoticeService.OnResume(new ApplicationMock { MainPage = contentPageMock }); Assert.Equal(2, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(contentPageMock, 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); }
public void NavigationPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder); var contentPageMock2 = new ContentPageMock(eventRecoder); var viewModelMock = new ViewModelMock(eventRecoder); var navigationPageMock = new NavigationPageMock(contentPageMock1, eventRecoder) { BindingContext = viewModelMock }; contentPageMock1.Navigation.PushAsync(contentPageMock2); LifecycleNoticeService.OnUnloaded(navigationPageMock); Assert.Equal(3, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(contentPageMock2, eventRecoder[0].Sender); Assert.Equal("OnUnloaded", eventRecoder[0].CallerMemberName); Assert.Null(eventRecoder[0].Parameter); Assert.NotNull(eventRecoder[1]); Assert.Equal(viewModelMock, eventRecoder[1].Sender); Assert.Equal("OnUnloaded", eventRecoder[1].CallerMemberName); Assert.Null(eventRecoder[1].Parameter); Assert.NotNull(eventRecoder[2]); Assert.Equal(navigationPageMock, eventRecoder[2].Sender); Assert.Equal("OnUnloaded", eventRecoder[2].CallerMemberName); Assert.Null(eventRecoder[2].Parameter); }
public void SetIsNotBusy_UpdatesIsBusy() { var vm = new ViewModelMock { IsNotBusy = false }; Assert.True(vm.IsBusy); Assert.False(vm.IsNotBusy); }
public void NavigateCommand_CanNotExecute_WhenIsBusy() { var vm = new ViewModelMock { IsBusy = true }; Assert.False(vm.NavigateCommand.CanExecute("good")); vm.IsBusy = false; Assert.True(vm.NavigateCommand.CanExecute("good")); }
public async Task Test_NavigateWithBundle() { var navigationService = _fixture.Ioc.Resolve <IMvxNavigationService>(); var mockVm = new ViewModelMock <SimpleTestViewModel>(); var bundle = new MvxBundle(); bundle.Write(new { hello = "world" }); await navigationService.Navigate(mockVm.Object, bundle); //TODO: fix NavigationService not allowing parameter values in request and only presentation values //mockVm.Verify(vm => vm.Init(It.Is<string>(s => s == "world")), Times.Once); }
public void NavigationPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder); var contentPageMock2ViewModel = new ViewModelMock(eventRecoder); var contentPageMock2 = new ContentPageMock(eventRecoder) { BindingContext = contentPageMock2ViewModel }; var viewModelMock = new ViewModelMock(eventRecoder); var navigationPageMock = new NavigationPageMock(contentPageMock1, eventRecoder) { BindingContext = viewModelMock }; contentPageMock1.Navigation.PushAsync(contentPageMock2); var parameter = "Hello, Parameter!"; LifecycleNoticeService.OnInitialize(navigationPageMock, parameter); Assert.Equal(5, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(navigationPageMock, 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); Assert.NotNull(eventRecoder[4]); Assert.Equal(contentPageMock2ViewModel, eventRecoder[4].Sender); Assert.Equal("OnInitialize", eventRecoder[4].CallerMemberName); Assert.Equal(parameter, eventRecoder[4].Parameter); }
public async Task Test_NavigateViewModelInstance() { var navigationService = _fixture.Ioc.Resolve <IMvxNavigationService>(); var mockVm = new ViewModelMock <SimpleTestViewModel>(); await navigationService.Navigate(mockVm.Object); MockLoader.Verify(loader => loader.ReloadViewModel(It.Is <SimpleTestViewModel>(val => mockVm.Object == val), It.IsAny <MvxViewModelRequest>(), It.IsAny <IMvxBundle>(), It.IsAny <IMvxNavigateEventArgs>()), Times.Once); MockDispatcher.Verify( x => x.ShowViewModel(It.Is <MvxViewModelInstanceRequest>(t => t.ViewModelInstance == mockVm.Object)), Times.Once); Assert.NotEmpty(MockDispatcher.Object.Requests); }
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 MasterDetailPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder) { Title = "contentPageMock1" }; var contentPageMock2 = new ContentPageMock(eventRecoder) { Title = "contentPageMock2" }; var viewModelMock = new ViewModelMock(eventRecoder); var masterDetailPageMock = new MasterDetailPageMock(eventRecoder) { Master = contentPageMock1, Detail = contentPageMock2, BindingContext = viewModelMock }; LifecycleNoticeService.OnResume(new ApplicationMock { MainPage = masterDetailPageMock }); Assert.Equal(4, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(masterDetailPageMock, 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 TabbedPage() { var eventRecoder = new EventRecorder(); var contentPageMock1 = new ContentPageMock(eventRecoder) { Title = "contentPageMock1" }; var contentPageMock2 = new ContentPageMock(eventRecoder) { Title = "contentPageMock2" }; var viewModelMock = new ViewModelMock(eventRecoder); var tabbedPageMock = new TabbedPageMock(eventRecoder) { BindingContext = viewModelMock }; tabbedPageMock.Children.Add(contentPageMock1); tabbedPageMock.Children.Add(contentPageMock2); LifecycleNoticeService.OnClosed(tabbedPageMock); Assert.Equal(4, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(contentPageMock2, eventRecoder[0].Sender); Assert.Equal("OnClosed", eventRecoder[0].CallerMemberName); Assert.Null(eventRecoder[0].Parameter); Assert.NotNull(eventRecoder[1]); Assert.Equal(contentPageMock1, eventRecoder[1].Sender); Assert.Equal("OnClosed", eventRecoder[1].CallerMemberName); Assert.Null(eventRecoder[1].Parameter); Assert.NotNull(eventRecoder[2]); Assert.Equal(viewModelMock, eventRecoder[2].Sender); Assert.Equal("OnClosed", eventRecoder[2].CallerMemberName); Assert.Null(eventRecoder[2].Parameter); Assert.NotNull(eventRecoder[3]); Assert.Equal(tabbedPageMock, eventRecoder[3].Sender); Assert.Equal("OnClosed", eventRecoder[3].CallerMemberName); Assert.Null(eventRecoder[3].Parameter); }
public async Task ValidNavigation_DoesNotUsePageDialogService() { var navService = new NavigationServiceMock(); var dialogService = new PageDialogServiceMock(); var logger = new XunitLogger(TestOutputHelper); var vm = new ViewModelMock(navService, dialogService, logger); Assert.True(vm.NavigateCommand.CanExecute("good")); vm.NavigateCommand.Execute("good"); await Task.Run(() => { while (vm.IsBusy) { } }); Assert.Null(dialogService.Title); Assert.Null(dialogService.Message); }
public async Task InvalidNavigation_UsesPageDialogService() { var navService = new NavigationServiceMock(); var dialogService = new PageDialogServiceMock(); var logger = new XunitLogger(TestOutputHelper); var vm = new ViewModelMock(navService, dialogService, logger); Assert.True(vm.NavigateCommand.CanExecute("bad")); vm.NavigateCommand.Execute("bad"); await Task.Run(() => { while (vm.IsBusy) { } }); Assert.Equal(ToolkitResources.Error, dialogService.Title); var errorMessage = new Exception("bad").ToErrorMessage(); var dialogMessage = string.Format(ToolkitResources.AlertErrorMessageTemplate, errorMessage, vm.CorrelationId); Assert.NotNull(vm.CorrelationId); Assert.Contains(dialogMessage, dialogService.Message); }
public void ContentPage() { var eventRecoder = new EventRecorder(); var viewModelMock = new ViewModelMock(eventRecoder); var contentPageMock = new ContentPageMock(eventRecoder) { BindingContext = viewModelMock }; var parameter = "Hello, Parameter!"; LifecycleNoticeService.OnInitialize(contentPageMock, parameter); Assert.Equal(2, eventRecoder.Count); Assert.NotNull(eventRecoder[0]); Assert.Equal(contentPageMock, 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); }
public void Setup() { VM = new ViewModelMock(); }
public void InitialIsNotBusy_IsTrue() { var vm = new ViewModelMock(); Assert.True(vm.IsNotBusy); }
public void InitialIsBusy_IsFalse() { var vm = new ViewModelMock(); Assert.False(vm.IsBusy); }
public DataContextChangeSynchronizerTest() { _repo = new TypeConverterProvider(); _guiObject = new SamplePerspexObject(); _viewModel = new ViewModelMock(); }