Example #1
0
        public void ShouldWorkForKnownTypeAndUnknownMember()
        {
            var a1 = CreateTestObject();
            IMemberAccessor <TestA, string> ma = TypeAccessor <TestA> .GetMemberAccessor <string>("PropString");

            ShouldBehaveSimilar(ma, a1);

            IObjectMemberAccessor <double> oma = a1.GetObjectMemberAccessor <TestA, double>("Field1");

            ShouldBehaveSimilar(oma, a1);
        }
Example #2
0
        public void ShouldWorkForUnknownTypeAndUnknownMember()
        {
            var             a1 = CreateTestObject();
            IMemberAccessor ma = TypeAccessor.GetMemberAccessor(typeof(TestA), "PropInt");

            Assert.That(ma.GetValue(a1), Is.EqualTo(a1.PropInt));
            ma.SetValue(a1, a1.PropInt + 10);
            Assert.That(ma.GetValue(a1), Is.EqualTo(a1.PropInt));

            IObjectMemberAccessor oma = a1.GetObjectMemberAccessor("Field1");

            Assert.That(oma.GetValue(), Is.EqualTo(a1.Field1));
            oma.SetValue(12.56);
            Assert.That(oma.GetValue(), Is.EqualTo(a1.Field1));
            a1.Field1 -= 345;
            Assert.That(oma.GetValue(), Is.EqualTo(a1.Field1));
        }