public void ObjectWithPropertyToMethodDependencyOtherProperty()
        {
            var obj = new ObjectWithPropertyToMethodDependencyTestObject(1, 2);

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

            obj.Prop1     = 0;
            obj.obj.Prop2 = 42;

            Assert.AreEqual(0, obj.Prop1);
            Assert.AreEqual(1, obj.obj.Prop1);
            Assert.AreEqual(42, obj.obj.Prop2);
        }
        public void ObjectWithPropertyToMethodDependencySameProperty()
        {
            var obj = new ObjectWithPropertyToMethodDependencyTestObject(1, 2);
            Assert.AreEqual(1, obj.Prop1);
            Assert.AreEqual(1, obj.obj.Prop1);
            Assert.AreEqual(2, obj.obj.Prop2);

            obj.Prop1 = 0;
            obj.obj.Prop1 = 42;

            Assert.AreEqual(42, obj.Prop1);
            Assert.AreEqual(42, obj.obj.Prop1);
            Assert.AreEqual(2, obj.obj.Prop2);
        }