Exemplo n.º 1
0
        public void BuyNgetMatXPctOffTestWithOtherX()
        {
            Grocery grocery = new Grocery();

            grocery.AddSpecialBuyNgetMatXPctOff("milk", 1, 1, 1m);
            grocery.addItem("milk");
            grocery.addItem("milk");
            Assert.AreEqual(1m, grocery.GetTotal());
            grocery.removeItem("milk");
            grocery.removeItem("milk");
            grocery.AddSpecialBuyNgetMatXPctOff("milk", 1, 1, .5m);
            grocery.addItem("milk");
            grocery.addItem("milk");
            Assert.AreEqual(1.5m, grocery.GetTotal());
        }
Exemplo n.º 2
0
        public void BuyNgetMatXPctOffTest()
        {
            Grocery grocery = new Grocery();

            grocery.AddSpecialBuyNgetMatXPctOff("cheese", 2, 1, .15m);
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            Assert.AreEqual(7.8375m, grocery.GetTotal());
        }
Exemplo n.º 3
0
        public void LimitSpecialsTest()
        {
            Grocery grocery = new Grocery();

            grocery.AddSpecialBuyNgetMatXPctOff("cheese", 2, 1, .15m, 6);
            grocery.addItem("cheese", 6);
            //Correctly discounted
            Assert.AreEqual(15.675m, grocery.GetTotal());
            grocery.addItem("cheese", 3);
            //Should add a cheese at normal price
            Assert.AreEqual(23.925m, grocery.GetTotal());
        }
Exemplo n.º 4
0
        public void BuyNgetMatXPctOffTestWithMultiples()
        {
            Grocery grocery = new Grocery();

            grocery.AddSpecialBuyNgetMatXPctOff("cheese", 2, 1, .15m);
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            grocery.addItem("cheese");
            Assert.AreEqual(15.675m, grocery.GetTotal());
            grocery.addItem("cheese");
            //Should add a cheese at normal price
            Assert.AreEqual(18.425m, grocery.GetTotal());
            grocery.addItem("cheese");
            //Should add a cheese at normal price
            Assert.AreEqual(21.175m, grocery.GetTotal());
            grocery.addItem("cheese");
            //Should add one discounted cheese
            Assert.AreEqual(23.5125m, grocery.GetTotal());
        }