Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 10 da Aula 8 - Testando e Debugando sua aplicação

Oi gente! Não entedi as duas últimas linhas deste código. Refiro-me as asserts

public class FiltradorDeGastosTest {

@Test public void soDevolveGastosComValorMaiorQueOLimite() throws Exception { Funcionario funcionario = new Funcionario("Felipe", 123, new GregorianCalendar(1989, 3, 17)); Calendar hoje = Calendar.getInstance();

Gasto g1 = new Gasto(25.0, "almoco", funcionario, hoje); Gasto g2 = new Gasto(150.0, "jantar", funcionario, hoje); Gasto g3 = new Gasto(22.0, "extras", funcionario, hoje); List lista = Arrays.asList(g1, g2, g3);

FiltradorDeGastosEspeciais filtrador = new FiltradorDeGastosEspeciais(25.0); List gastosGrandes = filtrador.filtraGastosGrandes(lista); //Não entendi a seguinte parte! assertEquals(1, gastosGrandes.size()); assertEquals(150.0, gastosGrandes.get(0).getValor(), 0.00001); } }

5 respostas

Olá Cremildo! O método assertEquals() serve para testar se o algo em seu código está sendo como esperado, assim ela recebe como parâmetro o resultado esperado e o valor a ser analisado. Veja só:

assertEquals(1, gastosGrandes.size());

No seu caso, você está verificando se o retorno de seu método, ou seja gastosGrandes.size() é 1. Ou seja, você espera que o resultado seja 1, caso não seja o teste falhará e aparecerá uma barra vermelha no JUnit.

Espero ter ajudado! Bons Estudos!

Oi Romario! O método adiciona a lista somente os valores do gasto superiores a um dado valor limite definido, caso não o método falha.

A principal linha de codigo que de teste é a seguinte:

assertEquals(150.0, gastosGrandes.get(0).getValor(), 0.00001); } }

Já percebi o que me explicaste, o que não entendo é o valor double delta (0.00001); que mesmo mudando para 1, 2, 3... o teste ainda continua correto! Será que há um critério de atribuir o valor delta?

solução!

Entendi.

Cremildo, o delta é como se fosse uma margem de erro ou, melhor dizendo, um intervalo onde o valor é considerado correto.

No caso do seu exemplo o valorTestado atender a regra:

150 - 0.00001 <= valorTestado <= 150 + 0.00001

Será considerado correto. Se você não deseja que isso ocorra, pode não passar o delta como parâmetro ou no lugar passar 0 como parâmetro.

Espero ter ajudado! Bons Estudos!

Thasnks, agora sim já entendi, thanks! Até a próxima...

Que bom! Por nada, estamos aqui para ajudar. Bons Estudos!