public void MoneyOffDiscountStrategyThrowsOnLowDiscount( Product p, decimal discount, MoneyOffDiscountStrategy sut) { if (Math.Abs(discount) != 0) { discount = -discount; } Assert.Throws <InvalidDiscountException>(() => sut.DiscountProduct(p, discount)); }
public void MoneyOffDiscountStrategyThrowsOnHighDiscount( Product p, decimal discount, MoneyOffDiscountStrategy sut) { while (discount < p.Price) { discount = discount + Math.Abs(discount); } Assert.Throws <InvalidDiscountException>(() => sut.DiscountProduct(p, discount)); }
public void MoneyOffDiscountStrategyCalculationIsCorrect( Product p, decimal discount, MoneyOffDiscountStrategy sut) { if (discount > p.Price) { discount = discount - (discount - 1); } var actual = sut.DiscountProduct(p, discount); Assert.Equal(p.Price - discount, actual); }