Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

NÚMEROS ALEATÓRIOS

Esse teste pode vir a quebrar?

    @Test
    public void deveEntenderLancesEmOrdemCrescenteRandomica() {

        Leilao leilao = new Leilao("Iphone 7");
        leilao.propoe(new Lance(new Usuario("João"), new Random(700).nextDouble()));
        leilao.propoe(new Lance(new Usuario("Maria"), new Random(700).nextDouble()));
        leilao.propoe(new Lance(new Usuario("João"), new Random(700).nextDouble()));
        leilao.propoe(new Lance(new Usuario("Maria"), new Random(700).nextDouble()));
        leilao.propoe(new Lance(new Usuario("João"), new Random(700).nextDouble()));
        leilao.propoe(new Lance(new Usuario("Maria"), new Random(700).nextDouble()));

        Avaliador leiloeiro = new Avaliador();
        leiloeiro.avalia(leilao);


        assertEquals(leiloeiro.getMenorLance(), leiloeiro.getMenorLance(), 0.00001);
    }
}
4 respostas

Oi Camila

Não deveria, contudo, o assertEquals precisa ter um valor fixo no lado do "expected", por exemplo:

assertEquals(450, leiloeiro.getMenorLance(), 0.00001);

Hum, entendi. Mas como vou saber o valor esse número se ele foi gerado aleatóriamente pelo Random?

solução!

Você poderia por exemplo, criar uma lógica para armazenar todos esses new Random(700) em uma lista e depois no próprio teste buscar qual é o menor valor para usar no assertEquals

Tu é fera!!! Valeuu!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software