public void RaiseOnEqual() { string foo = "foo"; var mock = new MockBindable(); mock.SetValue(MockBindable.TextProperty, foo); bool changing = false; mock.PropertyChanging += (o, e) => { Assert.That(e.PropertyName, Is.EqualTo(MockBindable.TextProperty.PropertyName)); changing = true; }; bool changed = true; mock.PropertyChanged += (o, e) => { Assert.That(e.PropertyName, Is.EqualTo(MockBindable.TextProperty.PropertyName)); changed = true; }; mock.SetValueCore(MockBindable.TextProperty, foo, BindableObject.SetValueFlags.ClearOneWayBindings | BindableObject.SetValueFlags.ClearDynamicResource | BindableObject.SetValueFlags.RaiseOnEqual); Assert.That(changing, Is.True, "PropertyChanging event did not fire"); Assert.That(changed, Is.True, "PropertyChanged event did not fire"); }