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); }
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); }
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); }