public void WhenWeBuy5ProductMustReturn3Products() { const Discount.DiscountType discountType = (Discount.DiscountType) 1; var discount = new Discount(discountType, 10, 40); // 40% off from 10 products const decimal quantity = 10; var actual = discount.Apply(quantity, discount); Assert.Equal(6, actual); }
public void WhenWeHaveDiscountTypeQuantityAndReturnIsHalfQuantity() { const Discount.DiscountType discountType = (Discount.DiscountType) 1; var discount = new Discount(discountType, 1000, 10); const decimal quantity = 1000; var actual = discount.Apply(quantity, discount); Assert.Equal(900, actual); }
public void Validate__GroupSizeForDiscount_is_set_while_Type_is_different_from_ForGroup__Should_be_invalid([Values( Discount.DiscountType.ForChild, Discount.DiscountType.ForDisabled, Discount.DiscountType.ForFamily, Discount.DiscountType.ForPensioner, Discount.DiscountType.ForStudent)] Discount.DiscountType type) { var invalidDiscount = new DiscountDto { GroupSizeForDiscount = 20, Type = type }; _validator.ShouldHaveValidationErrorFor(x => x.GroupSizeForDiscount, invalidDiscount); }