otaldoLOCK / ProjetoMVC_Projeto

Projeto Teste no padrão MVC - Com MER, diagrama de classes e diagrama de caso de uso
0 stars 0 forks source link

Teste ClientePF.java #4

Open Popolinos opened 5 months ago

Popolinos commented 5 months ago

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.

Popolinos commented 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());
}

}

Popolinos commented 5 months ago

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
    });
}

}