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(); }
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(); }