Пример #1
0
        public void ReturnNoDiscount_WhenNonMemberUsesExpiredCoupon()
        {
            // Arrange
            _mockCoupon     = CreateMockCoupon(true, 5);
            _mockProduct    = CreateMockProduct(100M, false);
            _discountScheme = new NonMemberDiscountScheme();

            // Act
            var price = _discountScheme.ComputePrice(_mockProduct, _mockCoupon);

            // Assert
            price.Should().Be(100M);
        }
Пример #2
0
        public void ReturnBaseMemberDiscountedPrice_WhenMemberUsesValidCouponForProductAlreadyOnSale()
        {
            // Arrange
            _mockCoupon     = CreateMockCoupon(false, 5);
            _mockProduct    = CreateMockProduct(100M, true);
            _discountScheme = new MemberDiscountScheme();

            // Act
            var price = _discountScheme.ComputePrice(_mockProduct, _mockCoupon);

            // Assert
            price.Should().Be(90M);
        }
Пример #3
0
        public void ReturnNonMemberDiscountedPrice_WhenNonMemberWithValidCouponForRegularItem()
        {
            // Arrange
            _mockCoupon     = CreateMockCoupon(false, 5);
            _mockProduct    = CreateMockProduct(100M, false);
            _discountScheme = new NonMemberDiscountScheme();

            // Act
            var price = _discountScheme.ComputePrice(_mockProduct, _mockCoupon);

            // Assert
            price.Should().Be(95M);
        }