public void CorrectlyRaisesPropertyChangedForIsDirty() { int isDirtyChangedCalls = 0; var model = new ClearIsDirtyModel(); ((INotifyPropertyChanged)model).PropertyChanged += (sender, e) => { if (string.Equals(e.PropertyName, "IsDirty")) { isDirtyChangedCalls++; } }; ((IEditableObject)model).BeginEdit(); // IsDirty change 1 model.Name = "Me"; // IsDirty change 2 model.ClearIsDirty(); // IsDirty change 3 ((IEditableObject)model).CancelEdit(); Assert.AreEqual(2, isDirtyChangedCalls); }
public void CorrectlyRaisesPropertyChangedForIsDirty() { int isDirtyChangedCalls = 0; var model = new ClearIsDirtyModel(); ((INotifyPropertyChanged)model).PropertyChanged += (sender, e) => { if (string.Equals(e.PropertyName, "IsDirty")) { isDirtyChangedCalls++; } }; ((IEditableObject)model).BeginEdit(); // IsDirty change 1 model.Name = "Me"; // IsDirty change 2 model.ClearIsDirty(); // IsDirty change 3 + 4 (Name change back to null, and restoreof IsDirty) ((IEditableObject)model).CancelEdit(); Assert.AreEqual(4, isDirtyChangedCalls); }