Neste exemplo, o método dobraLance está pegando sempre o primeiro e não o último lance.
Neste exemplo, o método dobraLance está pegando sempre o primeiro e não o último lance.
Olá Ivomar,
Na realidade o teste está pegando o último lance dado pelo usuário, como o usuário que foi passado para o método dobraLance
foi o steveJobs
e ele o último lance anterior dele foi o primeiro o sistema obtem o primeiro lance para dobrar.
@Test
public void deveDobrarOUltimoLanceDado() {
Leilao leilao = new Leilao("Macbook Pro 15");
Usuario steveJobs = new Usuario("Steve Jobs");
Usuario billGates = new Usuario("Bill Gates");
leilao.propoe(new Lance(steveJobs, 2000));
leilao.propoe(new Lance(billGates, 3000));
leilao.dobraLance(steveJobs);
assertEquals(4000, leilao.getLances().get(2).getValor(), 0.00001);
}
O teste então compara para ver se o 3º lance (na posição do índice 2) está com o dobro de valor do primeiro lance do usuário (de 2000), o 0.00001 argumento é usado para comparação de números de ponto flutuante, onde ele representa a diferença entre os dois números nos quais eles ainda podem ser considerados iguais.
Isso pode ser visto aqui: Assert (JUnit)