public void Element ()
 {
     var context = new ObjectQueryContext (typeof (ElementTestClass));
     Assert.IsTrue (context.PropertyExists ("Foo", new ElementTestClass ()));
     var foo = new ElementTestClass { Foo = "bar" };
     Assert.IsTrue (context.PropertyExists ("Foo", foo));
     Assert.IsFalse (context.PropertyExists ("Bar", foo));
     var equality = false;
     context.VisitProperty ("Foo", foo, value => equality = value.Equals ("bar"));
     Assert.IsTrue (equality);
     equality = false;
     context.VisitProperty ("Foo", new ElementTestClass (), value => equality = value == null);
     Assert.IsTrue (equality);
 }
        public void Element()
        {
            var context = new ObjectQueryContext(typeof(ElementTestClass));

            Assert.IsTrue(context.PropertyExists("Foo", new ElementTestClass()));
            var foo = new ElementTestClass {
                Foo = "bar"
            };

            Assert.IsTrue(context.PropertyExists("Foo", foo));
            Assert.IsFalse(context.PropertyExists("Bar", foo));
            var equality = false;

            context.VisitProperty("Foo", foo, value => equality = value.Equals("bar"));
            Assert.IsTrue(equality);
            equality = false;
            context.VisitProperty("Foo", new ElementTestClass(), value => equality = value == null);
            Assert.IsTrue(equality);
        }