Пример #1
0
        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);
        }
Пример #2
0
        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);
        }