예제 #1
0
        public void GetPropertyGetterDelegate_should_return_getter_if_exists()
        {
            // Arrange
            var target = new ClassWithNonPublicProperty();

            // Act
            var get_Value = typeof(ClassWithNonPublicProperty).GetPropertyGetterDelegate("Value");

            target.m_value = 42;

            // Assert
            Assert.AreEqual(42, get_Value(target, null));
        }
예제 #2
0
        public void GetPropertySetterDelegate_should_return_setter_if_exists()
        {
            // Arrange
            var target = new ClassWithNonPublicProperty();

            // Act
            var set_Value = typeof(ClassWithNonPublicProperty).GetPropertySetterDelegate("Value");

            set_Value(target, new object[] { 42 });

            // Assert
            Assert.AreEqual(42, target.m_value);
        }
예제 #3
0
        public void GetMemberDelegate_should_return_property_setter_if_condition_for_its_property_is_passed()
        {
            // Arrange
            var target = new ClassWithNonPublicProperty();

            // Act
            var actual = typeof(ClassWithNonPublicProperty).GetMemberDelegate("Value", Type.EmptyTypes);

            actual(target, new object[] { 42 });

            // Assert
            Assert.AreEqual(42, target.m_value);
        }