Open Popolinos opened 3 months ago
Teste certo: Esses testes garantem que a classe Produto funcione conforme o esperado, verificando se os métodos setIdProduto, getIdProduto, setDescricao, getDescricao, setValor, getValor e toString estão retornando os resultados esperados.
Os testes foram realizados no JUnit usando o Intellij:
package Model;
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*;
class ProdutoTestCerto {
@Test
void setIdProduto() {
Produto produto = new Produto(1, "Produto A", 10.0f);
produto.setIdProduto(2);
assertEquals(2, produto.getIdProduto());
}
@Test
void getIdProduto() {
Produto produto = new Produto(1, "Produto A", 10.0f);
assertEquals(1, produto.getIdProduto());
}
@Test
void setDescricao() {
Produto produto = new Produto(1, "Produto A", 10.0f);
produto.setDescricao("Produto B");
assertEquals("Produto B", produto.getDescricao());
}
@Test
void getDescricao() {
Produto produto = new Produto(1, "Produto A", 10.0f);
assertEquals("Produto A", produto.getDescricao());
}
@Test
void setValor() {
Produto produto = new Produto(1, "Produto A", 10.0f);
produto.setValor(20.0f);
assertEquals(20.0f, produto.getValor());
}
@Test
void getValor() {
Produto produto = new Produto(1, "Produto A", 10.0f);
assertEquals(10.0f, produto.getValor());
}
@Test
void testToString() {
Produto produto = new Produto(1, "Produto A", 10.0f);
String expected = "1 - Produto A";
assertEquals(expected, produto.toString());
}
}
Teste errado: Esses testes forçam a classe Produto a lidar com situações onde o ID é negativo, o valor é negativo ou a descrição é nula.
Os testes foram realizados no JUnit usando o Intellij:
package Model;
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*;
class ProdutoTestErrado {
@Test
void setIdProdutoComIdNegativo() {
Produto produto = new Produto(1, "Produto A", 10.0f);
assertThrows(IllegalArgumentException.class, () -> {
produto.setIdProduto(-2);
});
}
@Test
void setValorComValorNegativo() {
Produto produto = new Produto(1, "Produto A", 10.0f);
assertThrows(IllegalArgumentException.class, () -> {
produto.setValor(-20.0f);
});
}
@Test
void testToStringSemDescricao() {
Produto produto = new Produto(1, null, 10.0f);
assertThrows(NullPointerException.class, produto::toString);
}
}
Essa classe possui as funções sobre as informações básicas do produto como valor, descrição e Id. Essas funções foram testadas individualmente para verificar se suportariam os testes feitos nela.