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()); }
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()); }
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()); }
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()); }