public void BasketTotal_GivenTwoButterBread_ReturnsTotal310p() { //Given List <IPromoOffer> promoOffers = new List <IPromoOffer>(); promoOffers.Add(new PromoOfferHalfOffBreadForTwoButters()); var promoCalculator = new PromoOfferDiscountCalculator(promoOffers); var basket = new Basket(promoCalculator); var Bread = new BasketItem() { ProductName = "Bread", Quantity = 2, Price = 1.00m }; var Butter = new BasketItem() { ProductName = "Butter", Quantity = 2, Price = 0.80m }; basket.AddItem(Bread); basket.AddItem(Butter); //When var result = basket.TotalwithDiscount(); //Then Assert.That(result, Is.EqualTo(3.10m)); }
public void BasketTotal_GivenTwoButterOneBreadEightMilk_ReturnsTotal900p() { //Given List <IPromoOffer> promoOffers = new List <IPromoOffer>(); promoOffers.Add(new PromoOfferHalfOffBreadForTwoButters()); promoOffers.Add(new PromoOfferBuyThreeMilkGetOneFree()); var promoCalculator = new PromoOfferDiscountCalculator(promoOffers); var basket = new Basket(promoCalculator); var Bread = new BasketItem() { ProductName = "Bread", Quantity = 1, Price = 1.00m }; var Butter = new BasketItem() { ProductName = "Butter", Quantity = 2, Price = 0.80m }; var Milk = new BasketItem() { ProductName = "Milk", Quantity = 8, Price = 1.15m }; basket.AddItem(Bread); basket.AddItem(Butter); basket.AddItem(Milk); //When var result = basket.TotalwithDiscount(); //Then Assert.That(result, Is.EqualTo(9.00m)); }
public void BasketTotal_GivenFourMilk_ReturnsTotal345p() { //Given List <IPromoOffer> promoOffers = new List <IPromoOffer>(); promoOffers.Add(new PromoOfferBuyThreeMilkGetOneFree()); var promoCalculator = new PromoOfferDiscountCalculator(promoOffers); var basket = new Basket(promoCalculator); var Milk = new BasketItem() { ProductName = "Milk", Quantity = 4, Price = 1.15m }; basket.AddItem(Milk); //When var result = basket.TotalwithDiscount(); //Then Assert.That(result, Is.EqualTo(3.45m)); }