예제 #1
0
        public virtual IEnumerable <T> Get(string q)
        {
            var query = PredicateHelper.Create <T>(q);

            var db     = new NorthwindDbContext();
            var result = db.Set <T>().Where(query).ToList();

            return(result);
        }
예제 #2
0
        public void Datetime_Tests()
        {
            var foo = new Foo()
            {
                DateTime = new DateTime(2000, 12, 31),
            };

            Assert.True(PredicateHelper.Create <Foo>("DateTime.Year = 2000")(foo));
            Assert.True(PredicateHelper.Create <Foo>("NullableDateTimeNull = null")(foo));            Assert.True(PredicateHelper.Create <Foo>("NullableDateTimeHasValue.Year = 2000")(foo));
        }
예제 #3
0
 public void Defense_Null_And_Empty()
 {
     Assert.True(PredicateHelper.Create <Person>(null)(Person.New()));
     Assert.True(PredicateHelper.Create <Person>("")(Person.New()));
 }
예제 #4
0
 public void String_Tests()
 {
     Assert.True(PredicateHelper.Create <Person>("Name = Ahmed Þeref")(Person.New(Name: "Ahmed Þeref")));
 }
예제 #5
0
 public void Null_Queries()
 {
     Assert.True(PredicateHelper.Create <Person>("Name = null")(Person.New(Name: null)));
     Assert.True(PredicateHelper.Create <Person>("Name != null")(Person.New(Name: "Ahmed")));
     Assert.False(PredicateHelper.Create <Person>("Name != null")(Person.New(Name: null)));
 }
예제 #6
0
        public void Complex_Queries(string command, Person person, bool expected)
        {
            Func <Person, bool> predicate = PredicateHelper.Create <Person>(command);

            Assert.Equal(expected, predicate(person));
        }
예제 #7
0
 public void Simple_Queries(string command, Person person, bool expected)
 {
     Assert.Equal(expected, PredicateHelper.Create <Person>(command)(person));
 }
예제 #8
0
 public void String_Queries()
 {
     Assert.True(PredicateHelper.Create <string>("Length = 0")(string.Empty));
     Assert.False(PredicateHelper.Create <string>("@ = Ahmed")("ahmed"));
     Assert.True(PredicateHelper.Create <string>("@ = Ahmed")("Ahmed"));
 }
예제 #9
0
 public void Integer_Queries(string q, int val, bool expected)
 {
     Assert.Equal(expected, PredicateHelper.Create <int>(q)(val));
 }