Esempio n. 1
0
        public void NullingViewModelShouldUnloadIt()
        {
            var vm      = new ViewAwareViewModel();
            var fixture = new LoadingView();

            fixture.ViewModel = vm;
            Assert.Equal(0, vm.IsLoadedCount);
            Assert.Equal(0, fixture.IsLoadedCount);

            fixture.Loaded.OnNext(Unit.Default);
            Assert.Equal(1, vm.IsLoadedCount);
            Assert.Equal(1, fixture.IsLoadedCount);

            fixture.ViewModel = null;
            Assert.Equal(0, vm.IsLoadedCount);

            fixture.Dispose();
        }
Esempio n. 2
0
        public void CanUnloadAndLoadViewAgain()
        {
            var vm      = new ViewAwareViewModel();
            var fixture = new LoadingView();

            fixture.ViewModel = vm;
            Assert.Equal(0, vm.IsLoadedCount);
            Assert.Equal(0, fixture.IsLoadedCount);

            fixture.Loaded.OnNext(Unit.Default);
            Assert.Equal(1, vm.IsLoadedCount);
            Assert.Equal(1, fixture.IsLoadedCount);

            fixture.Unloaded.OnNext(Unit.Default);
            Assert.Equal(0, vm.IsLoadedCount);
            Assert.Equal(0, fixture.IsLoadedCount);

            fixture.Loaded.OnNext(Unit.Default);
            Assert.Equal(1, vm.IsLoadedCount);
            Assert.Equal(1, fixture.IsLoadedCount);

            fixture.Dispose();
        }