Example #1
0
        public void OnSalePromotion_WithoutProduct_ShouldNotApplyOnOrder()
        {
            var order = new Order(new [] { new Item(secondProduct) });

            var onSalePromotion = new OnSalePromotion {
                Product = firstProduct, SalePrice = 1.49
            };

            var discounts = onSalePromotion.ApplyTo(order);

            Assert.Equal(0, discounts.Count);
        }
Example #2
0
        public void OnSalePromotion_WithProduct_ShouldApplyOnOrder()
        {
            var order = new Order(new [] { new Item(firstProduct), new Item(secondProduct) });

            var onSalePromotion = new OnSalePromotion {
                Product = firstProduct, SalePrice = 1.49
            };

            var discounts = onSalePromotion.ApplyTo(order);

            Assert.Equal(1, discounts.Count);
            Assert.Equal(order.Items[0], discounts[0].Item);
            Assert.Equal(firstProduct.Price - 1.49, discounts[0].Value);
        }