public void HalfPriceDiscount_CalculateAppliedDiscount_WithQuantity_4OrMore() { // Arrange var percentageDiscount = new HalfPriceDiscount(new ProductQuantity { Product = new Product { ProductId = 2, Name = "Beans" }, Quantity = 4 }, new DiscountedProduct() { ProductId = 3, Name = "Bread" }); // Act var result = percentageDiscount.DiscountsApplicable(ProductQuantityHelper.CreateProductsForHalfPriceDiscounts()).ToArray(); // Assert Assert.AreEqual(result.Any(), true); Assert.AreEqual(result[0].Type, DiscountType.HalfPrice); Assert.AreEqual(result[0].Amount, 0.40m); Assert.AreEqual(result[0].Text, "Bread 50% OFF: - 40p"); }
public void HalfPriceDiscount_NoDiscountApplied_WithQuantity_20rMore() { // Arrange var percentageDiscount = new HalfPriceDiscount(new ProductQuantity { Product = new Product { ProductId = 2, Name = "Beans" }, Quantity = 2 }, new DiscountedProduct() { ProductId = 4, Name = "Milk" }); // Act var result = percentageDiscount.DiscountsApplicable(ProductQuantityHelper.CreateProducts()).ToArray(); // Assert Assert.AreEqual(result.Any(), false); }