using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; namespace Masuit.Tools.UnitTest.Mapping.ClassTests { public class QueryableImplTest : IOrderedQueryable { public QueryableImplTest() { Provider = new QueryProviderImplTest(); Expression = Expression.Constant(this); } public QueryableImplTest(Expression expression) : this() { Expression = expression; } public Type ElementType => typeof(T); public Expression Expression { get; } public IQueryProvider Provider { get; } public IEnumerator GetEnumerator() { return Provider.CreateQuery(Expression).GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return Provider.CreateQuery(Expression).GetEnumerator(); } } public class QueryProviderImplTest : IQueryProvider { public IQueryable CreateQuery(Expression expression) { return null; } public IQueryable CreateQuery(Expression expression) { return new QueryableImplTest(expression); } public object Execute(Expression expression) { return null; } public TResult Execute(Expression expression) { return default(TResult); } } }