コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }