예제 #1
0
        public void TestEnumerablePropertyOutOfRangeToLarge()
        {
            var list = new List <string>();

            list.Add("first");
            list.Add("second");
            list.Add("third");
            _subject.StringEnumerable = new EnumerableWrapper <string>(list);

            try
            {
                object value = _reflection["StringEnumerable.4"];
            }
            catch (ReflectionException Re)
            {
                Assert.That(Re.Message,
                            Is.EqualTo(
                                ReflectionException.IndexOutOfBounds(typeof(EnumerableWrapper <string>), 4).Message));
            }
            try
            {
                object value = _reflection["StringEnumerable.-1"];
            }
            catch (ReflectionException Re)
            {
                Assert.That(Re.Message,
                            Is.EqualTo(ReflectionException.IndexOutOfBounds(typeof(List <string>), -1).Message));
            }
        }
예제 #2
0
 public void TestListPropertyOutOfRangeToLarge()
 {
     _subject.Nested     = new TestSubject();
     _subject.StringList = new List <string>();
     _subject.StringList.Add("first");
     _subject.StringList.Add("second");
     _subject.StringList.Add("third");
     try
     {
         object value = _reflection["StringList.4"];
     }
     catch (ReflectionException Re)
     {
         Assert.That(Re.Message,
                     Is.EqualTo(ReflectionException.IndexOutOfBounds(typeof(List <string>), 4).Message));
     }
     try
     {
         object value = _reflection["StringList.-1"];
     }
     catch (ReflectionException Re)
     {
         Assert.That(Re.Message,
                     Is.EqualTo(ReflectionException.IndexOutOfBounds(typeof(List <string>), -1).Message));
     }
 }
예제 #3
0
        public void TestSetNestedNonExistingListItem()
        {
            _subject.ComplexList = new List <TestSubject>();
            _subject.ComplexList.Add(new TestSubject());
            _subject.ComplexList.Add(new TestSubject());
            _subject.ComplexList.Add(new TestSubject());
            _subject.ComplexList[0].SimpleString = "first";
            _subject.ComplexList[1].SimpleString = "second";
            _subject.ComplexList[2].SimpleString = "third";

            try
            {
                _reflection["ComplexList.3.SimpleString"] = null;
                Assert.Fail("Expected exception");
            }
            catch (ReflectionException Re)
            {
                Console.WriteLine(Re.Message);
                Assert.AreEqual(Re.Message, ReflectionException.IndexOutOfBounds(typeof(List <TestSubject>), 3).Message);
            }
        }
예제 #4
0
        public void TestSetNestedNonExistingArrayItem()
        {
            _subject.ComplexArray    = new TestSubject[3];
            _subject.ComplexArray[0] = new TestSubject();
            _subject.ComplexArray[1] = new TestSubject();
            _subject.ComplexArray[2] = new TestSubject();
            _subject.ComplexArray[0].SimpleString = "first";
            _subject.ComplexArray[1].SimpleString = "second";
            _subject.ComplexArray[2].SimpleString = "third";

            try
            {
                _reflection["ComplexArray.3.SimpleString"] = null;
                Assert.Fail("Expected exception");
            }
            catch (ReflectionException Re)
            {
                Console.WriteLine(Re.Message);
                Assert.AreEqual(Re.Message, ReflectionException.IndexOutOfBounds(typeof(TestSubject[]), 3).Message);
            }
        }
예제 #5
0
        public void TestArrayPropertyOutOfRangeToLarge()
        {
            _subject.StringArray    = new string[3];
            _subject.StringArray[0] = "first";
            _subject.StringArray[1] = "second";
            _subject.StringArray[2] = "third";

            try
            {
                object value = _reflection["StringArray.4"];
            }
            catch (ReflectionException Re)
            {
                Assert.That(Re.Message, Is.EqualTo(ReflectionException.IndexOutOfBounds(typeof(string[]), 4).Message));
            }
            try
            {
                object value = _reflection["StringArray.-1"];
            }
            catch (ReflectionException Re)
            {
                Assert.That(Re.Message, Is.EqualTo(ReflectionException.IndexOutOfBounds(typeof(string[]), -1).Message));
            }
        }