Для модульного тестирования службы Entity Framework я использую Moq
.Обычная база данных использует параметры сортировки SQL_Latin1_General_CP1_CI_AS
, поэтому она не чувствительна к регистру.Можно ли сделать поддельный регистр ApplicationDbContext
нечувствительным?
Текущий код:
private Mock<ApplicationDbContext> GetMockedApplicationDbContext()
{
var mockedPoliceRegion = GetMockedPoliceRegion();
var mockContext = new Mock<ApplicationDbContext>();
mockContext.Setup(c => c.PoliceRegions).Returns(mockedPoliceRegion.Object);
return mockContext;
}
private Mock<DbSet<PoliceRegion>> GetMockedPoliceRegion()
{
IQueryable<PoliceRegion> data = new List<PoliceRegion>
{
new PoliceRegion() {Name = "Syd"},
}.AsQueryable();
var mockSet = new Mock<DbSet<PoliceRegion>>();
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.Provider).Returns(data.Provider);
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.Expression).Returns(data.Expression);
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.ElementType).Returns(data.ElementType);
mockSet.As<IQueryable<PoliceRegion>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
return mockSet;
}