public void discount_amount_should_be_calculated_correctly()
        {
            var categoryID = Guid.NewGuid();
            var cart       = new Cart(Guid.NewGuid());

            cart.AddItem(new Product(Guid.NewGuid(), "TitleA", 30m, categoryID), 4);
            cart.AddItem(new Product(Guid.NewGuid(), "TitleB", 40m, categoryID), 6);

            var campaign = new Campaign(Guid.NewGuid(), categoryID, 1, DiscountType.Amount, 10m);

            var discountAmount = campaign.CalculateDiscountAmountFor(cart);

            discountAmount.Value.Should().Be(100m);
        }
        public void discount_amount_should_be_calculated_correctly()
        {
            var categoryID = Guid.NewGuid();
            var cart       = new Cart(Guid.NewGuid());

            cart.AddItem(new Product(Guid.NewGuid(), "TitleA", 20m, categoryID), 4);
            var lineItem = cart.LineItems.First();

            var campaign = new Campaign(Guid.NewGuid(), categoryID, 1, DiscountType.Rate, 0.10m);

            var discountAmount = campaign.CalculateDiscountAmountFor(lineItem);

            discountAmount.Value.Should().Be(8m);
        }