public void Deve_Adicionar_Atualizar_E_Deletar_Produto() { var options = new DbContextOptionsBuilder <OficinaPitStopContext>() .UseInMemoryDatabase("Testes_Modifica_Produto") .Options; using (var context = new OficinaPitStopContext(options)) { //Cria var produtoRepository = new ProdutoRepository(context); var produto = CriaProduto(1); var retornoAdiciona = produtoRepository.Adiciona(produto); Assert.True(retornoAdiciona); var retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.Equal(retornoPorId, produto); Assert.Equal(produto.Preco, retornoPorId.Preco); Assert.Equal(produto.Quantidade, retornoPorId.Quantidade); //Atualiza var descricaoAntigaProduto = retornoPorId.Descricao; var novaDescricaoProduto = "Nova descrição produto!"; produto.Descricao = novaDescricaoProduto; var retornoAtualiza = produtoRepository.Atualiza(produto); Assert.True(retornoAtualiza); retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.NotEqual(descricaoAntigaProduto, retornoPorId.Descricao); Assert.Equal(novaDescricaoProduto, retornoPorId.Descricao); //Deleta var retornoDelete = produtoRepository.Deleta(produto); Assert.True(retornoDelete); retornoPorId = produtoRepository.ObterPorId(produto.Codigo); Assert.Null(retornoPorId); } }