Olá, No exercício de dobrar o lance, houve um erro no teste e não consigo saber o que houve.
No primeiro teste, quando o método dobraLance recebe o usuário steveJobs, não houve falhas, porém mudando para billGates há um erro de java.lang.IndexOutOfBoundsException: Index 2 out-of-bounds for length 2.
O que preciso fazer para consertar este problema?
Classe de teste
@Test
public void dobraLanceDeUsuarioTest() {
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(billGates);
//assertEquals(4000, leilao.getLances().get(2).getValor(), 0.00001);
assertEquals(6000,leilao.getLances().get(2).getValor(),0.0001);
}
Classe Leilão
public void dobraLance(Usuario usuario) {
Lance ultimoLance=null;
for(Lance l:lances) {
if(l.getUsuario().equals(usuario)) {
ultimoLance = l;
}
}
propoe(new Lance(usuario, ultimoLance.getValor() * 2));
}