Created
September 2, 2025 14:14
-
-
Save guiathayde/4f63f4fad16427202fd85fe7729cd48e to your computer and use it in GitHub Desktop.
AnalisadorTest.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package org.example.s01.ex5; | |
| import org.junit.jupiter.api.Test; | |
| import java.util.ArrayList; | |
| import static org.junit.jupiter.api.Assertions.*; | |
| public class AnalisadorTest { | |
| @Test | |
| public void testAnalisarComListaNulaOuVazia() { | |
| Analisador analisador = new Analisador(); | |
| // Testa lista nula | |
| Exception exceptionListaNula = assertThrows(Exception.class, () -> { | |
| analisador.analisar(null); | |
| }); | |
| assertEquals("lista nula ou vazia", exceptionListaNula.getMessage()); | |
| // Testa lista vazia | |
| Exception exceptionListaVazia = assertThrows(Exception.class, () -> { | |
| analisador.analisar(new ArrayList<>()); | |
| }); | |
| assertEquals("lista nula ou vazia", exceptionListaVazia.getMessage()); | |
| } | |
| @Test | |
| public void testAnalisarContextoSemConcorrencia() throws Exception { | |
| Analisador analisador = new Analisador(); | |
| ArrayList<Candidato> candidatos = new ArrayList<>(); | |
| // Adiciona um único candidato | |
| Candidato candidato = new Candidato('M', 35); | |
| candidatos.add(candidato); | |
| Estatisticas estatisticas = analisador.analisar(candidatos); | |
| // Verifica os valores calculados | |
| assertEquals(0, estatisticas.getMulheres()); | |
| assertEquals(1, estatisticas.getHomens()); | |
| assertEquals(35.0f, estatisticas.getIdadeMedia(), 0.001); | |
| assertEquals("sem concorrência", estatisticas.getContexto()); | |
| } | |
| @Test | |
| public void testAnalisarContextoPolarizada() throws Exception { | |
| Analisador analisador = new Analisador(); | |
| ArrayList<Candidato> candidatos = new ArrayList<>(); | |
| // Adiciona dois candidatos | |
| candidatos.add(new Candidato('F', 30)); | |
| candidatos.add(new Candidato('M', 40)); | |
| Estatisticas estatisticas = analisador.analisar(candidatos); | |
| // Verifica os valores calculados | |
| assertEquals(1, estatisticas.getMulheres()); | |
| assertEquals(1, estatisticas.getHomens()); | |
| assertEquals(35.0f, estatisticas.getIdadeMedia(), 0.001); | |
| assertEquals("polarizada", estatisticas.getContexto()); | |
| } | |
| @Test | |
| public void testAnalisarContextoNormal() throws Exception { | |
| Analisador analisador = new Analisador(); | |
| ArrayList<Candidato> candidatos = new ArrayList<>(); | |
| // Adiciona três candidatos | |
| candidatos.add(new Candidato('F', 25)); | |
| candidatos.add(new Candidato('M', 35)); | |
| candidatos.add(new Candidato('F', 40)); | |
| Estatisticas estatisticas = analisador.analisar(candidatos); | |
| // Verifica os valores calculados | |
| assertEquals(2, estatisticas.getMulheres()); | |
| assertEquals(1, estatisticas.getHomens()); | |
| assertEquals((25 + 35 + 40) / 3.0f, estatisticas.getIdadeMedia(), 0.001); | |
| assertEquals("normal", estatisticas.getContexto()); | |
| } | |
| @Test | |
| public void testAnalisarMaisMulheresQueHomens() throws Exception { | |
| Analisador analisador = new Analisador(); | |
| ArrayList<Candidato> candidatos = new ArrayList<>(); | |
| // Adiciona cinco candidatos, sendo 3 mulheres e 2 homens | |
| candidatos.add(new Candidato('F', 30)); | |
| candidatos.add(new Candidato('F', 35)); | |
| candidatos.add(new Candidato('F', 40)); | |
| candidatos.add(new Candidato('M', 45)); | |
| candidatos.add(new Candidato('M', 50)); | |
| Estatisticas estatisticas = analisador.analisar(candidatos); | |
| // Verifica os valores calculados | |
| assertEquals(3, estatisticas.getMulheres()); | |
| assertEquals(2, estatisticas.getHomens()); | |
| // Calcula a idade média manualmente para comparação | |
| float idadeMediaEsperada = (30 + 35 + 40 + 45 + 50) / 5.0f; | |
| assertEquals(idadeMediaEsperada, estatisticas.getIdadeMedia(), 0.001); | |
| // Verifica o contexto | |
| assertEquals("normal", estatisticas.getContexto()); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment