コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }