public void NotifyPropertyChanged_OwnerExpression_ComplexProperty_Value_Integer_AutoActivate_True2() { var value = 0; var notifyPropertyChangedTestObject = new ParameterTestObject(); notifyPropertyChangedTestObject.IntParameter.Value = 1; notifyPropertyChangedTestObject.ComplexProperty.Value = new ComplexParameterType(); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 1; using var observer1 = ParameterObserverFactory.Observes( notifyPropertyChangedTestObject, o => o.ComplexProperty.Value.IntProperty.Value, v => value = v); Assert.AreEqual(0, value); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 2; Assert.AreEqual(2, value); }
public void NotifyPropertyChanged_OwnerExpression_ComplexProperty_Value_Integer_AutoActivate_True4() { var value = 0; var notifyPropertyChangedTestObject = new ParameterTestObject(); notifyPropertyChangedTestObject.IntParameter.Value = 1; notifyPropertyChangedTestObject.ComplexProperty.Value = new ComplexParameterType(); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 1; using var observer1 = ParameterObserverFactory.Observes( notifyPropertyChangedTestObject, o => o.ComplexProperty.Value.IntProperty.Value); Assert.AreEqual(0, observer1.SubscribedLength); void Ev(int v) => value = v; observer1.ParameterChanged += Ev; Assert.AreEqual(1, observer1.SubscribedLength); Assert.AreEqual(0, value); notifyPropertyChangedTestObject.ComplexProperty.Value.IntProperty.Value = 2; Assert.AreEqual(2, value); observer1.ParameterChanged -= Ev; Assert.AreEqual(0, observer1.SubscribedLength); }