|
Exatamente, no exercício o teste é pra quando não houver lance, se não existe lance não existe usuário certo ?
@Test
public void deveDevolverListaVaziaCasoNaoHajaLances() {
Leilao leilao = new Leilao(descricao());
Avaliador leiloeiro = new Avaliador();
leiloeiro.avalia(leilao);
List maiores = leiloeiro.getTresMaiores();
System.out.println(maiores);
assertEquals(0, maiores.size());
}
private String descricao() {
return "PlaySation 4";
}
|
|
package br.com.caelum.leilao;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import br.com.caelum.leilao.dominio.Lance;
import br.com.caelum.leilao.dominio.Leilao;
public class Avaliador {
private double maiorDetodos = Double.NEGATIVE_INFINITY;
private double menorDeTodos = Double.POSITIVE_INFINITY;
private double media = 0;
private List maiores;
// private List maiores;
public void avalia(Leilao leilao) {
double total = 0;
for (Lance lance : leilao.getLances()) {
if (lance.getValor() > maiorDetodos) {
maiorDetodos = lance.getValor();
}
if (lance.getValor() < menorDeTodos) {
menorDeTodos = lance.getValor();
}
//total += lance.getValor();
// media = total / leilao.getLances().size();
pegaOsMaioresNo(leilao);
}
}
private void pegaOsMaioresNo(Leilao leilao) {
maiores = new ArrayList(leilao.getLances());
Collections.sort(maiores, new Comparator() {
public int compare(Lance o1, Lance o2) {
if (o1.getValor() < o2.getValor())
return 1;
else if (o1.getValor() > o2.getValor())
return -1;
else return 0;
}
});
maiores = maiores.subList(0, maiores.size() > 3 ? 3 : maiores.size());
}
public List getTresMaiores() {
return this.maiores;
}
public double getMaiorLance() {
return maiorDetodos;
}
public double getMenorLance() {
return menorDeTodos;
}
public double getMediaLance() {
return media;
}
}
|