Example #1
0
        public void WhenAnXForYSpecialIsAddedTheOrderTotalIsAdjusted()
        {
            var pricingSpecial = new XForYSpecial {
                QuantityToBuy = 3, SpecialPrice = 10M
            };

            _pointOfSale.AddPricingSpecial("Bread", pricingSpecial);
            ScanItemMultipleTimes("Bread", 8);
            Assert.AreEqual(28.46M, _orderTotal);
        }
Example #2
0
        public void WhenALimitIsAddedToXForYSpecialTotalIsAdjusted()
        {
            var pricingSpecial = new XForYSpecial {
                QuantityToBuy = 3, SpecialPrice = 1, Limit = 6
            };

            _pointOfSale.AddPricingSpecial("Water", pricingSpecial);
            ScanItemMultipleTimes("Water", 9);
            Assert.AreEqual(5M, _orderTotal);
        }
Example #3
0
        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);
        }