示例#1
0
        public void GetValueThrowsErrorIfMemberHasInvalidFormat()
        {
            var invoker = new SimpleDynamicInvoker();

            Assert.Throws <ArgumentNullException>(() => invoker.GetValue(this, null));
            Assert.Throws <ArgumentException>(() => invoker.GetValue(this, ""));
            Assert.Throws <ArgumentException>(() => invoker.GetValue(this, " broken "));
        }
示例#2
0
        public void GetValueReturnsTheValueOfProperty()
        {
            var invoker = new SimpleDynamicInvoker();

            var result = invoker.GetValue(this, nameof(PublicProperty));

            Assert.AreEqual(nameof(PublicProperty), result);
        }
示例#3
0
        public void GetValueReturnsNullIfMemberIsNotAccessible()
        {
            var invoker = new SimpleDynamicInvoker();

            var result = invoker.GetValue(this, nameof(_privateField));

            Assert.IsNull(result);
        }
示例#4
0
        public void GetValueReturnsTrulyDynamicPropertyValue()
        {
            var     invoker = new SimpleDynamicInvoker();
            dynamic expando = new ExpandoObject();

            expando.Property = 100;

            var result = invoker.GetValue(expando, nameof(expando.Property));

            Assert.AreEqual(expando.Property, result);
        }
示例#5
0
        public void GetValueReturnsNullIfObjectIsNull()
        {
            var invoker = new SimpleDynamicInvoker();

            Assert.IsNull(invoker.GetValue(null, "property"));
        }