public void Init()
        {
            var services = new ServiceCollection();

            var options = new DbContextOptionsBuilder <WasteManagementDbContext>()
                          .UseInMemoryDatabase(databaseName: "test_db")
                          .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking)
                          .Options;

            _memoryDbContext = new WasteManagementDbContext(options);

            //Arrange
            var _loggerRepo = Substitute.For <ILogger <WasteContainerService> >();

            services.AddTransient <IWasteContainerRepository, WasteContainerRepository>();
            services.AddTransient <IWasteContainerService, WasteContainerService>();

            var serviceProvider = services.BuildServiceProvider();


            _wasteContainerRepository = new WasteContainerRepository(_memoryDbContext);
            _wasteContainerService    = new WasteContainerService(_wasteContainerRepository, _loggerRepo);

            _container = Builder <WasteContainerDtoModel> .CreateListOfSize(10).TheFirst(5)
                         .With(p => p.Name = SearchNameString)
                         .All()
                         .With(c => c.Id = Guid.NewGuid()).Build();

            if (_memoryDbContext.Containers.Count() == 0)
            {
                _memoryDbContext.Containers.AddRange(_container);
                _memoryDbContext.SaveChanges(true);
            }
        }
コード例 #2
0
 public WasteContainerRepository(IWasteManagementDbContext context)
 {
     _context = context;
 }