using Microsoft.EntityFrameworkCore; using Moq; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; namespace Strata.ContinuousImprovement.Biz.Test.Unit.DbContexts { [ExcludeFromCodeCoverage] public static class DbSetExtensions { public static DbSet GetQueryableMockDbSet(List sourceList) where T : class { var queryable = sourceList.AsQueryable(); var dbSet = new Mock>(); dbSet.As>().Setup(m => m.Provider).Returns(queryable.Provider); dbSet.As>().Setup(m => m.Expression).Returns(queryable.Expression); dbSet.As>().Setup(m => m.ElementType).Returns(queryable.ElementType); dbSet.As>().Setup(m => m.GetEnumerator()).Returns(() => queryable.GetEnumerator()); dbSet.Setup(d => d.Add(It.IsAny())).Callback((s) => sourceList.Add(s)); return dbSet.Object; } } }