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); }
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); }