public void ShouldReturn0WhenNoBagOfPogs() { // Arrange var basket = new Basket(new DiscountProvider(), new GiftProvider()); // Sut var discountCalculator = new BagOfPogsDiscountCalculator(); // Act var discount = discountCalculator.CalculateDiscount(basket); // Assert Assert.IsTrue(discount == 0); }
public void ShouldReturn0WhenOneBagOfPogs() { // Arrange var basket = new Basket(new DiscountProvider(), new GiftProvider()); basket.AddBasketItem(new Product(_bagOfPogsId, "Bag of Pogs", 1)); // Sut var discountCalculator = new BagOfPogsDiscountCalculator(); // Act var discount = discountCalculator.CalculateDiscount(basket); // Assert Assert.IsTrue(discount == 0, "Discount should be 0"); }
public void ShouldReturnDiscountWhenTwoBagOfPogs() { // Arrange var bagPrice = 2M; var basket = new Basket(new DiscountProvider(), new GiftProvider()); basket.AddBasketItem(new Product(_bagOfPogsId, "Bag of Pogs", bagPrice)); basket.AddBasketItem(new Product(_bagOfPogsId, "Bag of Pogs", bagPrice)); // Sut var discountCalculator = new BagOfPogsDiscountCalculator(); // Act var discount = discountCalculator.CalculateDiscount(basket); // Assert var expectedDiscount = (bagPrice / 2); Assert.IsTrue(discount == expectedDiscount, "Discount returned should be half of price of one bag. Discount: {0} Expected: {1}", discount, expectedDiscount); }