Skip to content

Instantly share code, notes, and snippets.

@AndersNS
Created September 11, 2014 13:17
Show Gist options
  • Select an option

  • Save AndersNS/72cbdc6b13f48b23b00e to your computer and use it in GitHub Desktop.

Select an option

Save AndersNS/72cbdc6b13f48b23b00e to your computer and use it in GitHub Desktop.
public static DbSet<T> AsFakeDbSet<T>(this IEnumerable<T> data) where T : class
{
var queryAble = data.AsQueryable();
var fakeDbSet = A.Fake<DbSet<T>>(builder =>
builder.Implements(typeof (IQueryable<T>)));
A.CallTo(() => ((IQueryable<T>) fakeDbSet).Provider).Returns(queryAble.Provider);
A.CallTo(() => ((IQueryable<T>) fakeDbSet).Expression).Returns(queryAble.Expression);
A.CallTo(() => ((IQueryable<T>) fakeDbSet).ElementType).Returns(queryAble.ElementType);
A.CallTo(() => ((IQueryable<T>) fakeDbSet).GetEnumerator()).Returns(queryAble.GetEnumerator());
return fakeDbSet;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment