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