public void TestDecreaseAmountOnProductLine()
        {
            // Arrange
            var context = new Mock <ControllerContext>();
            var session = new MockHttpSession();

            List <ProductLine> productLineList = new List <ProductLine>();

            ShoppingCartController cartController = new ShoppingCartController();

            cartController.ControllerContext = context.Object;

            Product product = new Product();

            product.ProductId = 1;
            product.Price     = 100;

            ProductLine productLine = new ProductLine();

            productLine.Amount  = 1;
            productLine.Product = product;

            productLineList.Add(productLine);
            session.insertIntoDictionary("shoppingCart", productLineList);

            context.Setup(m => m.HttpContext.Session).Returns(session);

            // Act
            cartController.Add(product);
            cartController.DecreaseAmount(productLine.Product.ProductId);

            // Assert
            Assert.AreEqual(1, productLine.Amount);
        }