コード例 #1
0
        public void It_should_create_coupon_with_rate_and_minimum_amount()
        {
            //Arrange
            double minimumCartAmount = 100;
            int    rateOfDiscount    = 10;

            //Act
            var discountType = DiscountType.Rate;
            var coupon       = RateCoupon.Create(minimumCartAmount, rateOfDiscount);

            //Verify
            coupon.DiscountType.Should().Be(discountType);
        }
コード例 #2
0
        public void It_should_not_apply_coupons_when_mimimum_amount_constraint_met()
        {
            //Arrange
            Category category = new Category("food");

            double minimumCartAmount = 200;
            int    rateOfDiscount    = 60;
            var    coupon            = RateCoupon.Create(minimumCartAmount, rateOfDiscount);

            var     cart  = new Cart();
            Product apple = new Product("Elma", 20, category);

            cart.AddItem(apple, 5);

            //Act
            cart.ApplyCoupon(coupon);

            //Verify
            cart.TotalAmountAfterDiscounts.Should().Be(100);
            cart.CouponDiscount.Should().Be(0);
        }