public void Doc_Flow() { //На складе есть Папаверин в количестве 5шт. Assert.AreEqual(stock.Quantity, 5); Assert.AreEqual(stock.ReservedQuantity, 0); //Мы создаем документ списание на 3 упаковки, после того как строка папаверина //добавлена и документ сохранен, на складе у нас будет - Папаверин 2шт, 3шт в резерве var line = new ReturnLine(stock, 3); doc.Lines.Add(line); Assert.AreEqual(stock.Quantity, 2); Assert.AreEqual(stock.ReservedQuantity, 3); Assert.AreEqual(line.Quantity, 3); //Если мы закроем документ то получим - Папаверен 2шт, 0шт в резерве doc.Post(session); Assert.AreEqual(stock.Quantity, 2); Assert.AreEqual(stock.ReservedQuantity, 0); Assert.AreEqual(line.Quantity, 3); //Если мы снова откроем документ, то получим что было до закрытия - Папаверин 2шт, 3шт в резерве doc.UnPost(session); Assert.AreEqual(stock.Quantity, 2); Assert.AreEqual(stock.ReservedQuantity, 3); Assert.AreEqual(line.Quantity, 3); //Если документ будет удален то на складе получим - Папаверин 5шт, 0шт в резерве doc.BeforeDelete(); Assert.AreEqual(stock.Quantity, 5); Assert.AreEqual(stock.ReservedQuantity, 0); }