public void WhereClauseTest() { var jonSkeet = new Customer() { FirstName = "Jon", LastName = "Skeet" }; var joelOnSoftware = new Customer() { FirstName = "Joel", LastName = "OnSoftware" }; var customers = new List <Customer>() { jonSkeet, joelOnSoftware }; var jonSkeetWheres = new List <WhereClause <Customer> >() { new WhereClause <Customer>(c => c.LastName, "Skeet"), new WhereClause <Customer>(c => c.FirstName, "Jon") }; var query = WhereClause <Customer> .AppendTo(customers, jonSkeetWheres); var result = query.ToList(); Assert.AreEqual(1, result.Count); Assert.AreEqual(jonSkeet, result.Single()); }