Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }