How do I write a unit test for a Expression tree in C#.
I have this class which needs to be tested. This method returns a Expression tree and also gets one as a parameter.
code:
public ExpressionStarter<SpecFinderDataModel> DoSearch(bool status, string searchValue, ExpressionStarter<SpecFinderDataModel> predicate)
{
var localPredicate = predicate;
if (status == false)
{
var searchTerms = searchValue.Split(' ').ToList().ConvertAll(x => x.ToLower());
localPredicate = localPredicate.Or(s => searchTerms.Any(srch => s.ProductID.ToLower().Contains(srch)));
localPredicate = localPredicate.Or(s => searchTerms.Any(srch => s.ISBN13.ToLower().Contains(srch)));
localPredicate = localPredicate.Or(s => searchTerms.Any(srch => s.Title.ToLower().Contains(srch)));
}
return localPredicate;
}
Any advice would be helpful. Thanks.
Update #1 I have used LinqKit for ExpressionStarter