Bom dia,
Rodei os testes com pytest dos test_leilao e todos passaram exceto o teste com três lances e não consegui identificar o porquê, já que anteriormente estava passando normalmente com o unittest.
Consegue me ajudar, Yuri?
FAILED
test_leilao.py:66 (TestLeilao.test_deve_retornar_o_maior_e_menor_valor_quando_o_leilao_tiver_tres_lances)
self = <testes.test_leilao.TestLeilao testMethod=test_deve_retornar_o_maior_e_menor_valor_quando_o_leilao_tiver_tres_lances>
def test_deve_retornar_o_maior_e_menor_valor_quando_o_leilao_tiver_tres_lances(self):
yuri = Usuario('Yuri', 500.0)
vini = Usuario('Vini', 500.0)
lance_yuri = Lance(yuri, 100.0)
lance_vini = Lance(vini, 200.0)
self.leilao.propoe(self.lance_gui)
> self.leilao.propoe(lance_yuri)
test_leilao.py:77:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <src.dominio.Leilao object at 0x037DB6A0>
lance = <src.dominio.Lance object at 0x037DB790>
def propoe(self, lance: Lance):
if not self.__lances or self.__lances[-1].usuario != lance.usuario and lance.valor > self.__lances[-1].valor:
if lance.valor > self.maior_lance:
self.maior_lance = lance.valor
if lance.valor < self.menor_lance:
self.menor_lance = lance.valor
self.__lances.append(lance)
else:
> raise ValueError("Erro ao propor o lance!")
E ValueError: Erro ao propor o lance!
..\src\dominio.py:49: ValueError
O código completo desse teste está como:
def test_deve_retornar_o_maior_e_menor_valor_quando_o_leilao_tiver_tres_lances(self):
yuri = Usuario('Yuri', 500.0)
vini = Usuario('Vini', 500.0)
lance_yuri = Lance(yuri, 100.0)
lance_vini = Lance(vini, 200.0)
self.leilao.propoe(self.lance_gui)
self.leilao.propoe(lance_yuri)
self.leilao.propoe(lance_vini)
menor_valor_esperado = 100.0
maior_valor_esperado = 200.0
self.assertEqual(menor_valor_esperado, self.leilao.menor_lance)
self.assertEqual(maior_valor_esperado, self.leilao.maior_lance)