Created
September 2, 2025 14:13
-
-
Save guiathayde/425c53a215c7cb25626e2207892fcaa7 to your computer and use it in GitHub Desktop.
IMCCalculadoraTest.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; | |
| import org.example.s01.ex3.IMCCalculadora; | |
| import org.example.s01.ex3.IMCStatus; | |
| import org.example.s01.ex3.Pessoa; | |
| import org.junit.jupiter.api.Test; | |
| import static org.junit.jupiter.api.Assertions.*; | |
| public class IMCCalculadoraTest { | |
| @Test | |
| public void testCalcularComPesoOuAlturaInvalidos() { | |
| IMCCalculadora calculadora = new IMCCalculadora(); | |
| Pessoa pessoaComPesoInvalido = new Pessoa("João", 0, 1.75); | |
| Pessoa pessoaComAlturaInvalida = new Pessoa("Maria", 70, 0); | |
| // Verifica se a exceção é lançada para peso inválido | |
| Exception exceptionPeso = assertThrows(IllegalArgumentException.class, () -> { | |
| calculadora.calcular(pessoaComPesoInvalido); | |
| }); | |
| // Verifica se a exceção é lançada para altura inválida | |
| Exception exceptionAltura = assertThrows(IllegalArgumentException.class, () -> { | |
| calculadora.calcular(pessoaComAlturaInvalida); | |
| }); | |
| } | |
| @Test | |
| public void testCalcularAbaixoDoPeso() { | |
| IMCCalculadora calculadora = new IMCCalculadora(); | |
| // IMC = 17.3 (50 / (1.7 * 1.7)) | |
| Pessoa pessoa = new Pessoa("Ana", 50.0, 1.7); | |
| IMCStatus status = calculadora.calcular(pessoa); | |
| // Verifica o valor do IMC (com margem de erro) | |
| double imcEsperado = 50.0 / (1.7 * 1.7); | |
| assertEquals(imcEsperado, status.getImc(), 0.01); | |
| // Verifica a classificação | |
| assertEquals("abaixo do peso", status.getClassificacao()); | |
| } | |
| @Test | |
| public void testCalcularPesoNormal() { | |
| IMCCalculadora calculadora = new IMCCalculadora(); | |
| // IMC = 22.49 (65 / (1.7 * 1.7)) | |
| Pessoa pessoa = new Pessoa("Carlos", 65.0, 1.7); | |
| IMCStatus status = calculadora.calcular(pessoa); | |
| // Verifica o valor do IMC (com margem de erro) | |
| double imcEsperado = 65.0 / (1.7 * 1.7); | |
| assertEquals(imcEsperado, status.getImc(), 0.01); | |
| // Verifica a classificação | |
| assertEquals("normal", status.getClassificacao()); | |
| } | |
| @Test | |
| public void testCalcularAcimaDoPeso() { | |
| IMCCalculadora calculadora = new IMCCalculadora(); | |
| // IMC = 27.68 (80 / (1.7 * 1.7)) | |
| Pessoa pessoa = new Pessoa("Pedro", 80.0, 1.7); | |
| IMCStatus status = calculadora.calcular(pessoa); | |
| // Verifica o valor do IMC (com margem de erro) | |
| double imcEsperado = 80.0 / (1.7 * 1.7); | |
| assertEquals(imcEsperado, status.getImc(), 0.01); | |
| // Verifica a classificação | |
| assertEquals("acima do peso", status.getClassificacao()); | |
| } | |
| @Test | |
| public void testCalcularObeso() { | |
| IMCCalculadora calculadora = new IMCCalculadora(); | |
| // IMC = 34.6 (100 / (1.7 * 1.7)) | |
| Pessoa pessoa = new Pessoa("Julia", 100.0, 1.7); | |
| IMCStatus status = calculadora.calcular(pessoa); | |
| // Verifica o valor do IMC (com margem de erro) | |
| double imcEsperado = 100.0 / (1.7 * 1.7); | |
| assertEquals(imcEsperado, status.getImc(), 0.01); | |
| // Verifica a classificação | |
| assertEquals("obeso", status.getClassificacao()); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment