public void ObjectWithPropertyToPropertyDependencyOtherProperty() { var obj = new ObjectWithPropertyToPropertyDependencyTestObject(1, 2); Assert.AreEqual(1, obj.Prop1); Assert.AreEqual(1, obj.obj.Prop1); Assert.AreEqual(2, obj.obj.Prop2); var n = 0; obj.Register("Prop1", () => n++); obj.obj.Prop2 = 42; Assert.AreEqual(0, n); Assert.AreEqual(1, obj.Prop1); Assert.AreEqual(1, obj.obj.Prop1); Assert.AreEqual(42, obj.obj.Prop2); }
public void ObjectWithPropertyToPropertyDependencySameProperty() { var obj = new ObjectWithPropertyToPropertyDependencyTestObject(1, 2); Assert.AreEqual(1, obj.Prop1); Assert.AreEqual(1, obj.obj.Prop1); Assert.AreEqual(2, obj.obj.Prop2); var n = 0; obj.Register("Prop1", () => n++); obj.obj.Prop1 = 42; Assert.AreEqual(1, n); Assert.AreEqual(42, obj.Prop1); Assert.AreEqual(42, obj.obj.Prop1); Assert.AreEqual(2, obj.obj.Prop2); }