//private Carrinho ObterCarrinho()
        //{
        //    Carrinho carrinho = (Carrinho) Session["Carrinho"];
        //    if (carrinho == null)
        //    {
        //        carrinho = new Carrinho();
        //        Session["Carrinho"] = carrinho;
        //    }

        //    return carrinho;

        //}

        public RedirectToRouteResult Remover(Carrinho carrinho,int produtoId, string returnUrl)
        {
            _repositorio = new ProdutosRepositorio();

            Produto produto = _repositorio.Produtos
                .FirstOrDefault(p => p.ProdutoId == produtoId);

            if (produto != null)
            {
                carrinho.RemoverItem(produto);
            }

            return RedirectToAction("Index", new { returnUrl });
        }
        public void RemoverItensCarrinho()
        {
            //Arrange - criação dos produtos
            Produto produto1 = new Produto()
            {
                ProdutoId = 1,
                Nome = "Teste 1"
            };

            Produto produto2 = new Produto()
            {
                ProdutoId = 2,
                Nome = "Teste 2"
            };

            Produto produto3 = new Produto()
            {
                ProdutoId = 3,
                Nome = "Teste 3"
            };

            //Arrange
            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(produto1, 1);

            carrinho.AdicionarItem(produto2, 3);

            carrinho.AdicionarItem(produto3, 5);

            carrinho.AdicionarItem(produto2, 1);

            //Act
            carrinho.RemoverItem(produto2);

            //Assert - Quantidade de produtos após a remoção
            Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count(),0);

            //Assert - Quantos itens tem no carrinho depois de removido um produto
            Assert.AreEqual(carrinho.ItensCarrinho.Count(),2);
        }
        public void RemoverItensCarrinho()
        {
            Produto produto1 = new Produto
            {
                ProdutoId = 1,
                Nome = "Teste 1"
            };

            Produto produto2 = new Produto
            {
                ProdutoId = 2,
                Nome = "TEste2"
            };

            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(produto1, 1);
            carrinho.AdicionarItem(produto2, 3);
            carrinho.AdicionarItem(produto1, 5);
            carrinho.AdicionarItem(produto2, 1);

            carrinho.RemoverItem(produto2);

            Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count() , 0);
            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 1);
        }
        public void PodeRemoverItensDoCarrinho()
        {
            //Arrange
            Produto produto1 = new Produto
            {
                ProdutoId = 1,
                Descricao = "Bola de Futebol",
                Categoria = "Futebol"
            };

            Produto produto2 = new Produto
            {
                ProdutoId = 2,
                Descricao = "Bola de Basquete",
                Categoria = "Basquete"
            };

            Carrinho carrinho = new Carrinho();

            //Act
            carrinho.AdicionarItem(produto1, 1);
            carrinho.AdicionarItem(produto2, 1);
            carrinho.AdicionarItem(produto1, 10);
            int qtdItensAntesRemover = carrinho.ItensCarrinho.Count();

            carrinho.RemoverItem(produto1);

            int qtdItensDepoisRemover = carrinho.ItensCarrinho.Count();

            //Assert
            Assert.AreEqual(qtdItensAntesRemover, 2);
            Assert.AreEqual(qtdItensDepoisRemover, 1);
        }
        public void RemoverProdutoDoCarrinho()
        {
            // Arrange - Criação dos Produtos
            Produto _produto1 = new Produto
            {
                Categoria = "Categoria 1",
                Descricao = "Produto 1",
                IdProduto = 1,
                Nome = "Produto Teste 1",
                Preco = 1.0m
            };

            Produto _produto2 = new Produto
            {
                Categoria = "Categoria 1",
                Descricao = "Produto 1",
                IdProduto = 2,
                Nome = "Produto Teste 1",
                Preco = 2.0m
            };

            Produto _produto3 = new Produto
            {
                Categoria = "Categoria 3",
                Descricao = "Produto 3",
                IdProduto = 3,
                Nome = "Produto Teste 3",
                Preco = 3.0m
            };

            // Arrange
            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(_produto1, 1);

            carrinho.AdicionarItem(_produto2, 1);

            carrinho.AdicionarItem(_produto1, 10);

            carrinho.RemoverItem(_produto2);

            Assert.AreEqual(carrinho.ItensCarrinho.Where(p => p.Produto.IdProduto == _produto2.IdProduto).Count(), 0);

            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 1);
        }
        public void RemoverItensCarrinho()
        {
            //Arrange - criação dos produtos
            Produto produto1 = new Produto()
            {
                ProdutoId = 1,
                Nome = "Teste 1"
            };

            Produto produto2 = new Produto()
            {
                ProdutoId = 2,
                Nome = "Teste 2"
            };

            Produto produto3 = new Produto()
            {
                ProdutoId = 3,
                Nome = "Teste 3"
            };

            //Arrange - criaçoa do carrinho
            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(produto1, 1);

            carrinho.AdicionarItem(produto2, 3);

            carrinho.AdicionarItem(produto3, 5);

            carrinho.AdicionarItem(produto2, 1);

            carrinho.RemoverItem(produto2);

            //Assert
            Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count(), 0);

            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2);


        }