Após a refatoração da classe Leilão, os testes que comparam os atributos menor_lance e maior_lance - agora setados para 0.0, não estão passando...
class Leilao:
def __init__(self, descricao):
self.descricao = descricao
self.__lances = []
self.menor_lance = 0.0
self.maior_lance = 0.0
def propoe(self, lance: Lance):
if self._se_lance_e_valido(lance):
if not self._tem_lances:
self.menor_lance = lance.valor
self.maior_lance = lance.valor
self.__lances.append(lance)
else:
raise ValueError('Erro ao propor lance.')
@property
def quantidade_de_lances_do_leilao(self):
return len(self.__lances)
# devolve uma "cópia" da lista
@property
def lances(self):
return self.__lances[:]
def _tem_lances(self):
return self.__lances
def _usuarios_diferentes(self, lance):
return self.__lances[-1].usuario != lance.usuario
def _valor_maior_que_lance_anterior(self, lance):
return lance.valor > self.__lances[-1].valor
def _se_lance_e_valido(self, lance):
return not self._tem_lances() or (self._usuarios_diferentes(lance) and
self._valor_maior_que_lance_anterior(lance))
==================
def test_quando_adicionados_em_ordem_crescente_deve_retornar_o_lance_de_maior_e_o_de_menor_valor(self):
self.leilao.propoe(self.lance_do_yuri)
self.leilao.propoe(self.lance_do_paul)
print('')
print(f'Executando o caso de testes: test_quando_adicionados_em_ordem_crescente_deve_retornar_o_lance_de_maior_e_o_de_menor_valor')
print(f'{self.menor_valor_esperado} - {self.leilao.menor_lance}')
print(f'{self.maior_valor_esperado} - {self.leilao.maior_lance}')
self.assertEqual(self.menor_valor_esperado, self.leilao.menor_lance)
self.assertEqual(self.maior_valor_esperado, self.leilao.maior_lance)
Quem pode me auxiliar?