using System; using AutoFixture; using MongoDB.Driver; using MongoDbGenericRepository.DataAccess.Read; using Moq; namespace CoreUnitTests.Infrastructure; public class TestKeyedReadOnlyMongoRepositoryContext where TKey : IEquatable { private readonly Mock mongoDatabase; private TestKeyedReadOnlyMongoRepository sut; protected TestKeyedReadOnlyMongoRepositoryContext() { mongoDatabase = new Mock(); Fixture = new Fixture(); } protected Fixture Fixture { get; set; } protected TestKeyedReadOnlyMongoRepository Sut { get { if (sut != null) { return sut; } sut = new TestKeyedReadOnlyMongoRepository(mongoDatabase.Object); if (Reader != null) { sut.SetReader(Reader.Object); } return sut; } } protected Mock Reader { get; set; } }