public void ShouldClearDynamicPropertiesOnDispose() { // Arrange var obj = new MyObservableObject(false, null); obj.SetDynamicValue <object>("ObjectProp", new ObservableObjectBase()); Assert.That(obj.GetDynamicValue <object>("ObjectProp"), Is.Not.Null); // Act obj.Dispose(); // Assert Assert.That(obj.GetDynamicValue <object>("ObjectProp"), Is.Null); }
public void WhenDisposingParentShouldDispose() { // Arrange var container = new UnityContainer(); var parent = new MyObservableObject(); var collection = new ViewModelTraitCollection(parent, container); // Act var b0 = collection.Add <MyViewModelTrait>(); parent.Dispose(); // Assert Assert.That(b0.IsDisposed, Is.True); }
public void ShouldDisposeWith() { // Arrange string somethingReceived = null; var vm = new MyObservableObject(false, null); vm.WhenPropertyChanged(x => x.Something).Subscribe(arg => somethingReceived = arg).DisposeWith(vm); // Act vm.Something = "Hello"; vm.Dispose(); vm.Something = "World"; // Assert Assert.That(vm.IsChecked, Is.False); Assert.That(somethingReceived, Is.EqualTo("Hello")); }