コード例 #1
0
        public void IgnoresUpcomingDiscountCode()
        {
            const decimal orderTotal = 100.0m;
            var           applier    = new DiscountCodeApplier(UpcomingDiscountCode(10.0m));

            Assert.AreEqual(100.0m, applier.DiscountedTotal(orderTotal));
        }
コード例 #2
0
        public void IgnoresInactiveDiscountCode()
        {
            const decimal orderTotal = 100.0m;
            var           applier    = new DiscountCodeApplier(DiscountCode(10.0m, false));

            Assert.AreEqual(100.0m, applier.DiscountedTotal(orderTotal));
        }
コード例 #3
0
        public void DiscountedTotalFromPercentageCannotBeLessThanZero()
        {
            const decimal orderTotal = 100.0m;
            var           applier    = new DiscountCodeApplier(PercentageDiscountCode(110.0m));

            Assert.AreEqual(0.0m, applier.DiscountedTotal(orderTotal));
        }
コード例 #4
0
        public void CalculatesDiscountTotalFromPercentage()
        {
            const decimal orderTotal = 150.0m;
            var           applier    = new DiscountCodeApplier(PercentageDiscountCode(20.0m));

            Assert.AreEqual(120.0m, applier.DiscountedTotal(orderTotal));
        }
コード例 #5
0
        public void CalculatesDiscountTotal()
        {
            const decimal orderTotal = 100.0m;
            var           applier    = new DiscountCodeApplier(DiscountCode(10.0m));

            Assert.AreEqual(90.0m, applier.DiscountedTotal(orderTotal));
        }
コード例 #6
0
        public void AppliesAdjustment()
        {
            const decimal orderTotal = 100.0m;
            var           applier    = new DiscountCodeApplier(DiscountCode(10.0m));
            var           adjustment = applier.DiscountAdjustment(orderTotal);

            Assert.IsNotNull(adjustment);
            Assert.AreEqual(-10.0m, adjustment.Amount);
        }