Exemple #1
0
        public void AppliesNoDiscount_ForNonApplicableProduct()
        {
            // Arrange
            var sut             = new PercentageOffDiscount("Apples", 0.10m);
            var _productsInCart = new List <ProductInCart>()
            {
                new ProductInCart()
                {
                    Product = new Product("Milk", 1.30M), Quantity = 1
                }
            };

            // Act
            var result = sut.ApplyDiscount(_productsInCart);

            // Assert
            Assert.False(result.Any());
        }
Exemple #2
0
        public void AppliesDiscount_ForMoreThanOneApplicableProduct()
        {
            // Arrange
            var sut             = new PercentageOffDiscount("Apples", 0.10m);
            var _productsInCart = new List <ProductInCart>()
            {
                new ProductInCart()
                {
                    Product = new Product("Apples", 1.00M), Quantity = 2
                }
            };

            // Act
            var result = sut.ApplyDiscount(_productsInCart);

            // Assert
            Assert.Single(result);
            Assert.Equal(.20M, result.First().DiscountAmount);
        }