public void ShoppingBasket_CheckCalculateTotalPrice_WitMultipleDiscounts()
        {
            // Arrange
            var multlpleDiscounts = new Mock <IDiscount>();

            multlpleDiscounts.Setup(mock => mock.DiscountsApplicable(It.IsAny <IEnumerable <ProductQuantity> >()))
            .Returns(DiscountHelper.CreateMultipleAppliedDiscounts());

            var shoppingBasket = new ShoppingBasket(new List <IDiscount> {
                multlpleDiscounts.Object
            });

            shoppingBasket.AddProducts(ProductQuantityHelper.CreateProducts());

            // Act
            var discountsTotal = shoppingBasket.GetBasketDiscounts().Sum(item => item.Amount);
            var result         = shoppingBasket.SubTotal - discountsTotal;

            // Assert
            Assert.AreEqual(result, 2.80m);
        }