public void WhenAnXForYSpecialIsAddedTheOrderTotalIsAdjusted() { var pricingSpecial = new XForYSpecial { QuantityToBuy = 3, SpecialPrice = 10M }; _pointOfSale.AddPricingSpecial("Bread", pricingSpecial); ScanItemMultipleTimes("Bread", 8); Assert.AreEqual(28.46M, _orderTotal); }
public void WhenALimitIsAddedToXForYSpecialTotalIsAdjusted() { var pricingSpecial = new XForYSpecial { QuantityToBuy = 3, SpecialPrice = 1, Limit = 6 }; _pointOfSale.AddPricingSpecial("Water", pricingSpecial); ScanItemMultipleTimes("Water", 9); Assert.AreEqual(5M, _orderTotal); }
public void WhenItemIsRemovedSpecialIsCalculatedCorrectly() { var pricingSpecial = new XForYSpecial() { QuantityToBuy = 3, SpecialPrice = 5 }; _pointOfSale.AddPricingSpecial("Bread", pricingSpecial); ScanItemMultipleTimes("Bread", 3); Assert.AreEqual(5M, _orderTotal); _orderTotal = _pointOfSale.LineItemVoid("Bread"); Assert.AreEqual(8.46M, _orderTotal); }