예제 #1
0
        public void ChainedPropertyDependency()
        {
            var obj = new ChainedPropertyDependencyTestObject(1, 2, 3);

            Assert.AreEqual(1, obj.Prop1);
            Assert.AreEqual(2, obj.Prop2);
            Assert.AreEqual(3, obj.Prop3);

            int prop1_call_count = 0;
            int prop2_call_count = 0;
            int prop3_call_count = 0;

            obj.Register("Prop1", () => prop1_call_count++);
            obj.Register("Prop2", () => prop2_call_count++);
            obj.Register("Prop3", () => prop3_call_count++);
            obj.Prop1 = 42;
            obj.Prop2 = 23;
            obj.Prop3 = 17;

            Assert.AreEqual(1, prop1_call_count);
            Assert.AreEqual(2, prop2_call_count);
            Assert.AreEqual(3, prop3_call_count);
            Assert.AreEqual(42, obj.Prop1);
            Assert.AreEqual(23, obj.Prop2);
            Assert.AreEqual(17, obj.Prop3);
        }
예제 #2
0
        public void ChainedPropertyDependency()
        {
            var obj = new ChainedPropertyDependencyTestObject(1, 2, 3);
            Assert.AreEqual(1, obj.Prop1);
            Assert.AreEqual(2, obj.Prop2);
            Assert.AreEqual(3, obj.Prop3);

            int prop1_call_count = 0;
            int prop2_call_count = 0;
            int prop3_call_count = 0;
            obj.Register("Prop1", () => prop1_call_count++);
            obj.Register("Prop2", () => prop2_call_count++);
            obj.Register("Prop3", () => prop3_call_count++);
            obj.Prop1 = 42;
            obj.Prop2 = 23;
            obj.Prop3 = 17;

            Assert.AreEqual(1, prop1_call_count);
            Assert.AreEqual(2, prop2_call_count);
            Assert.AreEqual(3, prop3_call_count);
            Assert.AreEqual(42, obj.Prop1);
            Assert.AreEqual(23, obj.Prop2);
            Assert.AreEqual(17, obj.Prop3);
        }