package br.com.caelum.leilao.service.test;
import br.com.caelum.leilao.service.Avaliador;
import br.com.caelum.leilao.dominio.Lance;
import br.com.caelum.leilao.dominio.Leilao;
import br.com.caelum.leilao.dominio.Usuario;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import static junit.framework.TestCase.assertEquals;
public class AvaliadorTest {
Usuario maria = new Usuario(1, "Maria");
Usuario henrique = new Usuario(2, "Henrique");
Usuario pedro = new Usuario(3, "Pedro");
Lance l1 = new Lance(maria, 300.0);
Lance l2 = new Lance(henrique, 800.0);
Lance l3 = new Lance(pedro, 600.0);
Leilao leilao = new Leilao("Venda de um computador");
Avaliador avaliador = new Avaliador();
double valorMedio = (l1.getValor() + l2.getValor() + l3.getValor()) / 3;
@Before
public void initialize() {
leilao.propoe(l1);
leilao.propoe(l2);
leilao.propoe(l3);
avaliador.avalia(leilao);
avaliador.calculaValorMedio(leilao);
}
@Test
public void deveriaRetornarMaiorValor(){
assertEquals(l2.getValor(), avaliador.getMaiorValor());
}
@Test
public void deveriaRetornarMenorValor(){
assertEquals(l1.getValor(), avaliador.getMenorValor());
}
@Test
public void deveriaRetornarValorMedio(){
assertEquals(valorMedio, avaliador.getValorMedio());
}
}