// [Test] public void NotifyPropertyChanged_Equal_2_Test() { var notifyPropertyChangedTestObject = new Parameter <ParameterTestObject> { Value = new ParameterTestObject() }; var expression = notifyPropertyChangedTestObject.Value.IntParameterExpression; using var observer1 = ParameterObserver.Observes(expression, () => { }); using var observer2 = ParameterObserver.Observes(notifyPropertyChangedTestObject.Value, o => o.IntParameter, () => { }); Assert.True(observer1.Equals(observer2)); }
public void NotifyPropertyChanged_Expression_Integer_AutoActivate_True() { var actionRaised = false; var notifyPropertyChangedTestObject = new ParameterTestObject(); using var observer1 = ParameterObserver.Observes( notifyPropertyChangedTestObject.IntParameterExpression, () => actionRaised = true); Assert.False(actionRaised); notifyPropertyChangedTestObject.IntParameter.Value = 2; Assert.True(actionRaised); }
public void NotifyPropertyChanged_IntParameter_Integer_True() { var count = 0; var notifyPropertyChangedTestObject = new ParameterTestObject(); using var observer1 = ParameterObserver.Observes(() => notifyPropertyChangedTestObject.IntParameter, () => count++, false); Assert.AreEqual(0, count); notifyPropertyChangedTestObject.IntParameter.Value = 2; Assert.AreEqual(0, count); observer1.Subscribe(true); notifyPropertyChangedTestObject.IntParameter.Value = 3; Assert.AreEqual(1, count); observer1.Unsubscribe(); notifyPropertyChangedTestObject.IntParameter.Value = 4; Assert.AreEqual(1, count); }
public void NotifyPropertyChanged_OwnerExpression_ComplexProperty_Value_Integer_AutoActivate_True() { var actionRaised = false; var notifyPropertyChangedTestObject = new ParameterTestObject(); notifyPropertyChangedTestObject.IntParameter.Value = 10; notifyPropertyChangedTestObject.ComplexProperty.Value = new ComplexParameterType(); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 11; using var observer1 = ParameterObserver.Observes( notifyPropertyChangedTestObject, o => o.ComplexProperty.Value.IntProperty.Value, () => { actionRaised = true; }); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.ValueChanged += (sender, args) => { var i = 1; }; Assert.False(actionRaised); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 2; Assert.True(actionRaised); }