public void ApplyDiscount_WhenThereIsNoMilkInBasket_TotalRemainsUnchanged() { // Arrange var initTotal = 100; var product = fixture.Create <Product>(); var basket = new Basket(); basket.AddItem(product, 10); var subject = new FourMilkOffer(); // Act var result = subject.ApplyDiscount(basket, initTotal); // Assert Assert.AreEqual(initTotal, result); }
public void ApplyDiscount_WhenThereIsXAmountOfMilkInBasket_TotalIsCalculatedCorrectly(int qtyMilk, double priceMilk, double initTotal, double expected) { // Arrange var milk = fixture.Build <Product>() .With(p => p.Name, "Milk") .With(p => p.Price, priceMilk) .Create(); var basket = new Basket(); basket.AddItem(milk, qtyMilk); var subject = new FourMilkOffer(); // Act var result = Math.Round(subject.ApplyDiscount(basket, initTotal), 2); // Assert Assert.AreEqual(expected, result); }