Пример #1
0
        public void ArrayItem()
        {
            var context = new ObjectQueryContext(typeof(ArrayItemTestClass));

            Assert.IsFalse(context.PropertyExists("Foo", new ArrayItemTestClass()));
            Assert.IsFalse(context.PropertyExists("Foo", new ArrayItemTestClass {
                Foo = new string[0]
            }));
            var foos = new[] { "foo", "bar", "bat", "baz" };
            var test = new ArrayItemTestClass {
                Foo = foos
            };

            Assert.IsTrue(context.PropertyExists("Foo", test));
            var i          = 0;
            var inequality = false;

            context.VisitProperty("Foo", test, value => inequality |= !value.Equals(foos[i++]));
            Assert.IsFalse(inequality);
        }
 public void ArrayItem ()
 {
     var context = new ObjectQueryContext (typeof (ArrayItemTestClass));
     Assert.IsFalse (context.PropertyExists ("Foo", new ArrayItemTestClass ()));
     Assert.IsFalse (context.PropertyExists ("Foo", new ArrayItemTestClass { Foo = new string[0] }));
     var foos = new[] { "foo", "bar", "bat", "baz" };
     var test = new ArrayItemTestClass { Foo = foos };
     Assert.IsTrue (context.PropertyExists ("Foo", test));
     var i = 0;
     var inequality = false;
     context.VisitProperty ("Foo", test, value => inequality |= !value.Equals (foos[i++]));
     Assert.IsFalse (inequality);
 }