Inheritance: ReactiveObject, IScreen
Example #1
0
        public void NavigateAndResetCheckNavigationStack()
        {
            var fixture = new TestScreen();

            fixture.Router = new RoutingState();
            var viewModel = new TestViewModel();

            Assert.False(fixture.Router.NavigationStack.Any());

            fixture.Router.NavigateAndReset.Execute(viewModel);

            Assert.True(fixture.Router.NavigationStack.Count == 1);
            Assert.True(object.ReferenceEquals(fixture.Router.NavigationStack.First(), viewModel));
        }
Example #2
0
        public void CurrentViewModelObservableIsAccurateViaWhenAnyObservable()
        {
            var fixture = new TestScreen();
            var output = fixture.WhenAnyObservable(x => x.Router.CurrentViewModel).CreateCollection();
            fixture.Router = new RoutingState();

            Assert.Equal(1, output.Count);

            fixture.Router.Navigate.Execute(new TestViewModel() { SomeProp = "A" });
            Assert.Equal(2, output.Count);

            fixture.Router.Navigate.Execute(new TestViewModel() { SomeProp = "B" });
            Assert.Equal(3, output.Count);
            Assert.Equal("B", ((TestViewModel)output.Last()).SomeProp);

            fixture.Router.NavigateBack.Execute(null);
            Assert.Equal(4, output.Count);
            Assert.Equal("A", ((TestViewModel)output.Last()).SomeProp);
        }
Example #3
0
        public void NavigateAndResetCheckNavigationStack()
        {
            var fixture = new TestScreen();
            fixture.Router = new RoutingState();
            var viewModel = new TestViewModel();

            Assert.False(fixture.Router.NavigationStack.Any());

            fixture.Router.NavigateAndReset.Execute(viewModel);

            Assert.True(fixture.Router.NavigationStack.Count == 1);
            Assert.True(object.ReferenceEquals(fixture.Router.NavigationStack.First(), viewModel));
        }