public void Predicate_ForInterface_CanBuildPredicate() { var mapping = new TypeMapping<IPerson, Person>(); var expression = mapping.Predicate("p => p.LastName == \"LName\"").Compile(); var persons = new List<IPerson> { new Person{ Id = 1, LastName = "LName"}, new Person{ Id = 2, LastName = "LName2"}, }; var filteredPersons = persons.Where(expression).ToList(); Assert.AreEqual(1, filteredPersons.Count); Assert.AreEqual(1, filteredPersons[0].Id); }
public void Predicate_WithMultiStatementSetup_LF_ForInterface_CanBuildPredicate() { var mapping = new TypeMapping<IPerson, Person>(); var setupStatement = "using System;\n var date = DateTime.Parse(\"1987-03-01\");"; var expression = mapping.Predicate("p => p.Birthdate == date", setupStatement).Compile(); var persons = new List<IPerson> { new Person{ Id = 1, Birthdate = DateTime.Parse("1987-03-01") }, new Person{ Id = 2, Birthdate = DateTime.Parse("1987-03-02") }, }; var filteredPersons = persons.Where(expression).ToList(); Assert.AreEqual(1, filteredPersons.Count); Assert.AreEqual(1, filteredPersons[0].Id); }