private void SetupMockSet() { MockSet.As <IDbAsyncEnumerable <T> >() .Setup(m => m.GetAsyncEnumerator()) .Returns(new TestDbAsyncEnumerator <T>(DataStore.GetEnumerator())); MockSet.As <IQueryable <T> >() .Setup(m => m.Provider) .Returns(new TestDbAsyncQueryProvider <T>(DataStore.Provider)); MockSet.As <IQueryable <T> >().Setup(m => m.Expression).Returns(DataStore.Expression); MockSet.As <IQueryable <T> >().Setup(m => m.ElementType).Returns(DataStore.ElementType); MockSet.As <IQueryable <T> >().Setup(m => m.GetEnumerator()).Returns(DataStore.GetEnumerator()); MockSet.Setup(m => m.Add(It.IsAny <T>())) .Callback((T item) => { DataStore.ToList().Add(item); }); MockSet.Setup(m => m.Find(It.IsAny <object[]>())) .Returns <object[]>(key => DataStore.SingleOrDefault(e => (e as IBaseEntity <int>).Id == (int)key[0])); }