public void TestDiscountIsAppliedIfNumberOfItemsIsThreeOrGreaterThanThree( ) { List <CheckoutKata.Business.ISpecialPricingRule> rules = TestAssistant.CreateRulesFromTexFile( ); var wh = new GenericCalculator(rules[0]); // Arrange var disCountProduct = TestAssistant.StockKeepingUnits(3, "A", 50); var expected = 130; var actual = wh.ApplyDiscount(disCountProduct); Assert.AreEqual(expected, actual); disCountProduct = TestAssistant.StockKeepingUnits(5, "A", 50); expected = 230; actual = wh.ApplyDiscount(disCountProduct); Assert.AreEqual(expected, actual); disCountProduct = TestAssistant.StockKeepingUnits(10, "A", 50); expected = 440; actual = wh.ApplyDiscount(disCountProduct); Assert.AreEqual(expected, actual); }
public void TestApplyDiscountReturnsZeroIfNoProductIsProcided( ) { var rules = TestAssistant.CreateRulesFromTexFile( ); // Arrange List <StockKeepingUnit> disCountProduct = null; var wh = new GenericCalculator(rules[0]); var expected = 0; var actual = wh.ApplyDiscount(disCountProduct); Assert.AreEqual(expected, actual); // Now initialised with no item on the list disCountProduct = new List <StockKeepingUnit>(); actual = wh.ApplyDiscount(disCountProduct); Assert.AreEqual(expected, actual); }
public void TestNoDiscountAppliedIfNumberOfItemsIsLessThanThree( ) { List <CheckoutKata.Business.ISpecialPricingRule> rules = TestAssistant.CreateRulesFromTexFile( ); var disCountProduct = TestAssistant.StockKeepingUnits(2, "A", 50); var wh = new GenericCalculator(rules[0]); var expected = 100; var actual = wh.ApplyDiscount(disCountProduct); Assert.AreEqual(expected, actual); }