public void ShoppingBasket_CheckCalculateTotalPrice_WithPercentageDiscount()
        {
            // Arrange
            var percentageDiscount = new Mock <IDiscount>();

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

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

            shoppingBasket.AddProducts(ProductQuantityHelper.CreateProducts());

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

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