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