public void WhenNavigatedToObservableFiresWhenViewModelAddedToNavigationStack() { var count = 0; var screen = new TestScreen(); var vm = new RoutableViewModel(screen); vm.WhenNavigatedToObservable().Subscribe(_ => { count++; }); screen.Router.Navigate.Execute(vm); Assert.Equal(1, count); }
public void WhenNavigatedToObservableCompletesWhenViewModelIsRemovedFromNavigationStack() { var count = 0; var screen = new TestScreen(); var vm = new RoutableViewModel(screen); vm.WhenNavigatedToObservable().Subscribe( _ => {}, () => { count++; }); screen.Router.Navigate.Execute(vm); screen.Router.NavigateBack.Execute(); Assert.Equal(1, count); }
public void WhenNavigatedToObservableCompletesWhenNavigationStackIsReset() { var count = 0; var screen = new TestScreen(); var vm1 = new RoutableViewModel(screen); var vm2 = new RoutableViewModel(screen); vm1.WhenNavigatedToObservable().Subscribe( _ => { }, () => { count++; }); screen.Router.Navigate.Execute(vm1); screen.Router.NavigateAndReset.Execute(vm2); Assert.Equal(1, count); }