コード例 #1
0
        public void TestPropertyHelper()
        {
            var d = new Data {
                propertyPrimitive = Math.E
            };
            var proxy  = new PropertyOrFieldProxy <Data>(_x => _x.propertyPrimitive);
            var gotten = proxy.Get(d);

            Assert.AreEqual(d.propertyPrimitive, gotten);
        }
コード例 #2
0
        public void TestFieldHelper()
        {
            var d = new Data {
                fieldPrimitive = 42
            };
            var proxy  = new PropertyOrFieldProxy <Data>(_x => _x.fieldPrimitive);
            var gotten = proxy.Get(d);

            Assert.AreEqual(d.fieldPrimitive, gotten);
        }
コード例 #3
0
        public void TestFieldObjectGet()
        {
            var d = new Data {
                fieldObject = "Hi"
            };
            var fi     = typeof(Data).GetField("fieldObject");
            var proxy  = new PropertyOrFieldProxy(fi);
            var gotten = proxy.Get(d);

            Assert.AreEqual(d.fieldObject, gotten);
        }
コード例 #4
0
        public void TestFieldPrimitiveGet()
        {
            var d = new Data {
                fieldPrimitive = 7
            };
            var fi     = typeof(Data).GetField("fieldPrimitive");
            var proxy  = new PropertyOrFieldProxy(fi);
            var gotten = proxy.Get(d);

            Assert.AreEqual(d.fieldPrimitive, gotten);
        }
コード例 #5
0
        public void TestPropertyPrimitiveGet()
        {
            var d = new Data {
                propertyPrimitive = Math.PI
            };
            var fi     = typeof(Data).GetProperty("propertyPrimitive");
            var proxy  = new PropertyOrFieldProxy(fi);
            var gotten = proxy.Get(d);

            Assert.AreEqual(d.propertyPrimitive, gotten);
        }
コード例 #6
0
        public void TestPropertyObjectGet()
        {
            Data firstVal = new Data();

            var d = new Data {
                propertyObject = firstVal
            };
            var fi     = typeof(Data).GetProperty("propertyObject");
            var proxy  = new PropertyOrFieldProxy(fi);
            var gotten = proxy.Get(d);

            Assert.AreEqual(d.propertyObject, gotten);
        }
コード例 #7
0
        public void TestFieldPrimitiveSet()
        {
            int newVal = 69;

            var d = new Data {
                fieldPrimitive = 7
            };
            var fi    = typeof(Data).GetField("fieldPrimitive");
            var proxy = new PropertyOrFieldProxy(fi);

            proxy.Set(d, newVal);

            Assert.AreEqual(newVal, d.fieldPrimitive);
        }
コード例 #8
0
        public void TestPropertyPrimitiveSet()
        {
            double newVal = Math.E;

            var d = new Data {
                propertyPrimitive = Math.PI
            };
            var fi    = typeof(Data).GetProperty("propertyPrimitive");
            var proxy = new PropertyOrFieldProxy(fi);

            proxy.Set(d, newVal);

            Assert.AreEqual(newVal, d.propertyPrimitive);
        }
コード例 #9
0
        public void TestFieldObjectSet()
        {
            string newVal = "Bye";

            var d = new Data {
                fieldObject = "Hi"
            };
            var fi    = typeof(Data).GetField("fieldObject");
            var proxy = new PropertyOrFieldProxy(fi);

            proxy.Set(d, newVal);

            Assert.AreEqual(newVal, d.fieldObject);
        }
コード例 #10
0
        public void TestPropertyObjectSet()
        {
            Data firstVal  = new Data();
            Data secondVal = new Data();

            var d = new Data {
                propertyObject = firstVal
            };
            var fi    = typeof(Data).GetProperty("propertyObject");
            var proxy = new PropertyOrFieldProxy(fi);

            proxy.Set(d, secondVal);

            Assert.AreEqual(secondVal, d.propertyObject);
        }
コード例 #11
0
        public void TestCreateAccessors()
        {
            string newVal = "Bye";

            var d = new Data {
                fieldObject = "Hi"
            };
            var fi = typeof(Data).GetField("fieldObject");

            (var getter, var setter) = PropertyOrFieldProxy.CreateAccessors(fi);

            var gotten = getter(d);

            Assert.AreEqual("Hi", gotten);

            setter(d, newVal);
            Assert.AreEqual(newVal, d.fieldObject);
        }
コード例 #12
0
 public void TestNullConstructorParameter_Property()
 {
     PropertyInfo pi = null;
     var          _  = new PropertyOrFieldProxy(pi);
 }
コード例 #13
0
 public void TestNullConstructorParameter_Field()
 {
     FieldInfo fi = null;
     var       _  = new PropertyOrFieldProxy(fi);
 }