@Test
public void biggestLowestAverageLanceTest() {
Leilao leilao = new Leilao("Playstation 3 Novo");
leilao.propoe(new Lance(maria, 250.0));
leilao.propoe(new Lance(joao, 300.0));
leilao.propoe(new Lance(jose, 400.0));
// comparando a saida com o esperado
double biggestLance = 400;
double lowestLance = 250;
double averageLance = 316.666666667;
avaliador.avalia(leilao);
assertThat(avaliador.getBiggestLance(), equalTo(biggestLance));
assertThat(avaliador.getLowestLance(), equalTo(lowestLance));
assertThat(avaliador.averageLance(leilao), equalTo(averageLance));
// assertEquals(biggestLance, avaliador.getBiggestLance(), 0.0000001);
// assertEquals(lowestLance, avaliador.getLowestLance(), 0.0000001);
// assertEquals(averageLance, avaliador.averageLance(leilao), 0.0000001);
}
Antes usando o assertEquals do JUnit mesmo e passando esse delta, o teste estava passando. Usando o AssertThat do Hamcrest, lança uma AssertionError:
java.lang.AssertionError: Expected: <316.666666667> but: was <316.6666666666667> Expected :<316.666666667>
Actual :<316.6666666666667>
na linha assertThat(avaliador.averageLance(leilao), equalTo(averageLance));