Open Popolinos opened 5 months ago
Teste correto: Testamos as funções de acordo com seus inputs esperados, numa operação de uso ideal.
Utilizamos o JUnit no Intellij para fazer os testes:
package Model;
import org.junit.jupiter.api.Test; import java.util.Date;
import static org.junit.jupiter.api.Assertions.*;
class ClientePFTestCerto {
@Test
void setCPF() {
ClientePF clientePF = new ClientePF(1, new Date(), "João", "123.456.789-00", 123456);
clientePF.setCPF("987.654.321-00");
assertEquals("987.654.321-00", clientePF.getCPF());
}
@Test
void getCPF() {
ClientePF clientePF = new ClientePF(1, new Date(), "João", "123.456.789-00", 123456);
assertEquals("123.456.789-00", clientePF.getCPF());
}
@Test
void setIdentidade() {
ClientePF clientePF = new ClientePF(1, new Date(), "João", "123.456.789-00", 123456);
clientePF.setIdentidade(654321);
assertEquals(654321, clientePF.getIdentidade());
}
@Test
void getIdentidade() {
ClientePF clientePF = new ClientePF(1, new Date(), "João", "123.456.789-00", 123456);
assertEquals(123456, clientePF.getIdentidade());
}
}
Teste errado: Estes testes forçam a classe ClientePF a lidar corretamente com situações onde o CPF é inválido, a identidade é negativa, zero ou muito grande.
Utilizamos o JUnit no Intellij para fazer os testes:
package Model;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class ClientePFTestErrado {
@Test
void setCPFComCPFInvalido() {
ClientePF clientePF = new ClientePF(1, null, null, null, 0);
assertThrows(IllegalArgumentException.class, () -> {
clientePF.setCPF("12345678900"); // CPF inválido, pois não possui os separadores
});
}
@Test
void setIdentidadeComIdentidadeNegativa() {
ClientePF clientePF = new ClientePF(1, null, null, null, 0);
assertThrows(IllegalArgumentException.class, () -> {
clientePF.setIdentidade(-123456);
});
}
@Test
void setIdentidadeComIdentidadeZero() {
ClientePF clientePF = new ClientePF(1, null, null, null, 0);
assertThrows(IllegalArgumentException.class, () -> {
clientePF.setIdentidade(0);
});
}
@Test
void setIdentidadeComIdentidadeMuitoGrande() {
ClientePF clientePF = new ClientePF(1, null, null, null, 0);
assertThrows(IllegalArgumentException.class, () -> {
clientePF.setIdentidade(1234567890); // Identidade muito grande
});
}
}
A classe ClientePF.java possui funções que pegam um cliente e adicionam informações mais confidenciais, como CPF,RG e Id. Essas funções foram testadas individualmente para verificar se suportariam os testes feitos nela.