how to mock Expression<func<T>> parameter
var fakeLessonList = new List<Lesson> { new Lesson() { LessonId = 1, LessonTypeId = 1,LanguageId = 1, TeacherId = 1, LessonName = "Professional Lesson"}, new Lesson() { LessonId = 2,LessonTypeId = 2, LanguageId = 2, TeacherId = 2, LessonName = "Professional Lesson"} }.AsQueryable(); // .BuildMock(); - no mock, just a real list _mockUnitOfWork.Setup(uow => uow.Repository<Lesson>().GetEntities(It.IsAny<Expression<Func<Lesson, bool>>>(), It.IsAny<Func<IQueryable<Lesson>, IIncludableQueryable<Lesson, object>>>())) .Returns( (Expression<Func<Lesson, bool>> condition, Func<IQueryable<Lesson>, IIncludableQueryable<Lesson, object>> include) => // Run the queries against the list // Need to add some checks in case any of those are null fakeLessonList.Where(condition) );