Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Teste da quantidade de lances máximos por usuário

private int qtdDeLancesDo(Usuario usuario) {
    int total = 0;
    for(Lance l : lances) {
        if(l.getUsuario().equals(usuario)) total++;
    }
    return total;
}

private boolean podeDarLance(Usuario usuario) {
    return !ultimoLanceDado().getUsuario().equals(usuario) 
        && qtdDeLancesDo(usuario) < 5;
}

private Lance ultimoLanceDado() {
    return lances.get(lances.size()-1);
}

public String getDescricao() {
    return descricao;
}

public List<Lance> getLances() {
    return Collections.unmodifiableList(lances);
}

Neste método e na classe de testes fiquei em dúvida de a verificação da quantidade de lances do mesmo usuário estar sendo testada como sendo MENOR que 5, quando a regra diz que:

  • Uma pessoa não pode dar mais do que cinco lances no mesmo leilão. Na implementação ele está limitando a quatro lances (< 5).

Poderia esclarecer, por favor?

1 resposta
solução!

Oi Otávio

Entendo que mais do que cinco lances deveria ser <= 5 também