public void ActivatingViewSmokeTest() { var locator = new ModernDependencyResolver(); locator.InitializeSplat(); locator.InitializeReactiveUI(); locator.Register(() => new ActivatingViewFetcher(), typeof(IActivationForViewFetcher)); using (locator.WithResolver()) { var vm = new ActivatingViewModel(); var fixture = new ActivatingView(); fixture.ViewModel = vm; Assert.Equal(0, vm.IsActiveCount); Assert.Equal(0, fixture.IsActiveCount); fixture.Loaded.OnNext(Unit.Default); Assert.Equal(1, vm.IsActiveCount); Assert.Equal(1, fixture.IsActiveCount); fixture.Unloaded.OnNext(Unit.Default); Assert.Equal(0, vm.IsActiveCount); Assert.Equal(0, fixture.IsActiveCount); } }
public void SwitchingViewModelShouldDeactivateIt() { var locator = new ModernDependencyResolver(); locator.InitializeResolver(); locator.Register(() => new ActivatingViewFetcher(), typeof(IActivationForViewFetcher)); using (locator.WithResolver()) { var vm = new ActivatingViewModel(); var fixture = new ActivatingView(); fixture.ViewModel = vm; Assert.Equal(0, vm.IsActiveCount); Assert.Equal(0, fixture.IsActiveCount); fixture.Loaded.OnNext(Unit.Default); Assert.Equal(1, vm.IsActiveCount); Assert.Equal(1, fixture.IsActiveCount); var newVm = new ActivatingViewModel(); Assert.Equal(0, newVm.IsActiveCount); fixture.ViewModel = newVm; Assert.Equal(0, vm.IsActiveCount); Assert.Equal(1, newVm.IsActiveCount); } }
public void PreviousActivationsGetTrashedOnDoubleActivate() { var fixture = new ActivatingViewModel(); Assert.Equal(0, fixture.IsActiveCount); fixture.Activator.Activate(); Assert.Equal(1, fixture.IsActiveCount); fixture.Activator.Activate(); Assert.Equal(1, fixture.IsActiveCount); fixture.Activator.Deactivate(); Assert.Equal(0, fixture.IsActiveCount); }
public void ActivationsGetRefCounted() { var fixture = new ActivatingViewModel(); Assert.Equal(0, fixture.IsActiveCount); fixture.Activator.Activate(); Assert.Equal(1, fixture.IsActiveCount); fixture.Activator.Activate(); Assert.Equal(1, fixture.IsActiveCount); fixture.Activator.Deactivate(); Assert.Equal(1, fixture.IsActiveCount); // Refcount drops to zero fixture.Activator.Deactivate(); Assert.Equal(0, fixture.IsActiveCount); }