using AutoFixture; using MongoDB.Driver; using MongoDbGenericRepository.DataAccess.Create; using MongoDbGenericRepository.DataAccess.Delete; using MongoDbGenericRepository.DataAccess.Index; using MongoDbGenericRepository.DataAccess.Read; using Moq; namespace CoreUnitTests.Infrastructure; public class TestMongoRepositoryContext { private readonly Mock _mongoDatabase; private TestMongoRepository _sut; protected TestMongoRepositoryContext() { _mongoDatabase = new Mock(); Fixture = new Fixture(); } public Fixture Fixture { get; set; } protected TestMongoRepository Sut { get { if (_sut == null) { _sut = new TestMongoRepository(_mongoDatabase.Object); if (IndexHandler != null) { _sut.SetIndexHandler(IndexHandler.Object); } if (Creator != null) { _sut.SetDbCreator(Creator.Object); } if (Reader != null) { _sut.SetReader(Reader.Object); } } return _sut; } } protected Mock IndexHandler { get; set; } protected Mock Creator { get; set; } protected Mock Reader { get; set; } protected Mock Eraser { get; set; } }