public void When_PropertyChanged_Suppressed_Then_SetPropertyValue_Does_Not_Fire_PropertyChanged() { // Arrange var eventCount = 0; var sut = new CollectionChangedHelper<int>(this); sut.PropertyChanged += (sender, args) => ++eventCount; var age = 10; // Act using (sut.SuppressPropertyChanged()) sut.SetPropertyValue(ref age, 17, "Age", "UserData-1"); // Assert Assert.AreEqual(0, eventCount); }
public void When_SetPropertyValue_New_Value_Then_Fires_PropertyChanged() { // Arrange var propertyChanges = new List<PropertyChangedEventArgsEx>(); var sut = new CollectionChangedHelper<int>(this); sut.PropertyChanged += (sender, args) => propertyChanges.Add((PropertyChangedEventArgsEx) args); var age = 10; var expectedPropertyChange = new PropertyChangedEventArgsEx("Age", "UserData-1"); // Act sut.SetPropertyValue(ref age, 17, "Age", "UserData-1"); // Assert Assert.AreEqual(1, propertyChanges.Count); Assert.AreEqual(expectedPropertyChange, propertyChanges[0]); }