public void UpdateIncomeTest() { var ask = Substitute.For <IInteractiveQuestion>(); ask.Question(string.Empty).ReturnsForAnyArgs(true); using (var uow = UnitOfWorkFactory.CreateWithoutRoot()) { var warehouse = new Warehouse { Name = "TestWarehouse" }; uow.Save(warehouse); var income = new Income { Warehouse = warehouse, Date = new DateTime(2017, 1, 1), Operation = IncomeOperations.Enter }; var nomenclature1 = new Nomenclature { Name = "TestNomenclature1" }; uow.Save(nomenclature1); var nomenclature2 = new Nomenclature { Name = "TestNomenclature2" }; uow.Save(nomenclature2); var item1 = income.AddItem(nomenclature1); var item2 = income.AddItem(nomenclature2); income.UpdateOperations(uow, ask); uow.Save(income); uow.Commit(); var stockRepository = new StockRepository(); var stock1 = stockRepository.StockBalances(uow, warehouse, new List <Nomenclature> { nomenclature1, nomenclature2 }, new DateTime(2017, 1, 2)); Assert.That(stock1.Count(), Is.EqualTo(2)); income.RemoveItem(item1); income.UpdateOperations(uow, ask); uow.Save(income); uow.Commit(); var stock2 = stockRepository.StockBalances(uow, warehouse, new List <Nomenclature> { nomenclature1, nomenclature2 }, new DateTime(2017, 1, 2)); Assert.That(stock2.Count(), Is.EqualTo(1)); } }