Telerik JustMock
public class NerdDinners : DbContext
{
public DbSet<Dinner> Dinners { get; set; }
}
...
[TestMethod]
public void ShouldReturnFakeCollectionWhenExpected()
{
// ARRANGE
NerdDinners nerdDinners = new NerdDinners();
// Arranging: When nerdDinners.Dinners GET is called,
// it should return the fake collection (fakeDinners).
Mock.Arrange(() => nerdDinners.Dinners).ReturnsCollection(FakeDinners());
// ACT - We call the nerdDinners.Dinners and search for a dinner with a certain DinnerID.
var actualQuery = from d in nerdDinners.Dinners
where d.DinnerID == 1
select d;
// ASSERT
// We assert that the nerdDinners.Dinners collection will actually return a collection with 2 items.
Assert.AreEqual(3, nerdDinners.Dinners.Count());
// We assert that there is only one item in our collection and this item has DinnerID equal to one.
Assert.AreEqual(1, actualQuery.Count());
Assert.AreEqual(1, actualQuery.First().DinnerID);
}