def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_lances( self): yuri = Usuario('yuri', 500) lance_do_yuri = Lance(yuri, 200.0) marcos = Usuario('marcos', 500) lance_do_marcos = Lance(marcos, 400) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_welbert) self.leilao.propoe(lance_do_marcos) menor_valor_esperado = 200.0 maior_valor_esperado = 400.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance)
def test_deve_retornar_maior_menor_quando_3_lance(self): with self.assertRaises(LanceInvalido): vini = Usuario('Vini', 500.00) yuri = Usuario('Yuri', 500.00) lance_do_yuri = Lance(yuri, 100.0) lance_do_vini = Lance(vini, 190.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(lance_do_vini) menor_valor = 100.00 maior_valor = 190.00 self.assertEqual(menor_valor, self.leilao.menor_lance) self.assertEqual(maior_valor, self.leilao.maior_lance)
def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): yuri = Usuario('Yuri', 500.00) lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri)
def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_lances( self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100.0) vini = Usuario('Vini', 500.0) lance_do_vini = Lance(vini, 200.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_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)
def test_deve_permitir_propor_um_lance_caso_o_ultimo_usuario_seja_diferente( self): joao = Usuario('joao', 500) lance_do_joao = Lance(joao, 200.0) self.leilao.propoe(lance_do_joao) self.leilao.propoe(self.lance_do_welbert) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances_recebido)
def test_deve_premitir_um_lance_caso_usuario_for_diferente(self): yuri = Usuario('Yuri', 500.00) lance_do_yuri = Lance(yuri, 200.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) qnt_de_lances_recebido = len(self.leilao.lances) self.assertEqual(2, qnt_de_lances_recebido)
def test_deve_permitir_propor_um_lance_caso_o_ultimo_usuario_seja_diferente( self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 200.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances_recebido)
def test_deve_retornar_menor_e_menor_ordem_crescente(self): yuri = Usuario('Yuri', 500.00) lance_do_yuri = Lance(yuri, 160.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) menor_valor = 150.00 maior_valor = 160.00 self.assertEqual(menor_valor, self.leilao.menor_lance) self.assertEqual(maior_valor, self.leilao.maior_lance)
def test_quando_leilao_mais_de_dois_lances_avalia_maior_menor_lance( self): vini = Usuario('Vini') lance_do_vini = Lance(vini, 200.00) yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.lances.append(lance_do_yuri) self.leilao.lances.append(self.lance_do_gui) self.leilao.lances.append(lance_do_vini) avaliador = Avaliador() avaliador.avalia(self.leilao) menor_valor_esperado = 100.0 maior_valor_esperado = 200.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance)
def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): yuri = Usuario('yuri', 500) lance_do_yuri = Lance(yuri, 200.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_welbert) menor_valor_esperado = 200.0 maior_valor_esperado = 350.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance)
def test_quando_leilao_ordem_decrescente_avalia_maior_menor_lance( self): yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.lances.append(lance_do_yuri) self.leilao.lances.append(self.lance_do_gui) avaliador = Avaliador() avaliador.avalia(self.leilao) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance)
def test_quando_leilao_somente_um_lance_avalia_maior_menor_lance_com_valores_iguais( self): gui = Usuario('Gui') lance_do_gui = Lance(gui, 150.0) leilao = Leilao('Celular') leilao.lances.append(lance_do_gui) avaliador = Avaliador() avaliador.avalia(leilao) menor_valor_esperado = 150.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance)
def vini(): return Usuario('Vini', 100.0)
def setUp(self): self.welbert = Usuario('welbert', 500) self.lance_do_welbert = Lance(self.welbert, 350.0) self.leilao = Leilao('Celular')
def setUp(self): self.gui = Usuario('Gui', 500.00) self.lance_do_gui = Lance(self.gui, 150.00) self.leilao = Leilao('Celular')
from leilao.dominio import Usuario, Leilao, Lance rodrigo = Usuario("rodrigo") pablo = Usuario('pablo') lance_pablo = Lance(pablo.nome, 100) lance_rodrigo = Lance(rodrigo.nome, 150) leilao = Leilao('Celular') leilao.propoe(lance_pablo) leilao.propoe(lance_rodrigo) for lance in leilao.lances: print( f"O Lance do usurário {lance.usuario.nome} deu um lance no valor de {lance.valor}" ) print( f"O maior lance foi {leilao.menor_lance} e o menor lance foi de {leilao.menor_lance}" )
def test_quando_leilao_ordem_crescente_avalia_maior_menor_lance(self): yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.lances.append(lance_do_yuri) self.leilao.lances.append(self.lance_do_gui) avaliador = Avaliador() avaliador.avalia(self.leilao) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance) def test_quando_leilao_ordem_decrescente_avalia_maior_menor_lance( self): yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.lances.append(lance_do_yuri) self.leilao.lances.append(self.lance_do_gui) avaliador = Avaliador() avaliador.avalia(self.leilao) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance) def test_quando_leilao_somente_um_lance_avalia_maior_menor_lance_com_valores_iguais( self): gui = Usuario('Gui') lance_do_gui = Lance(gui, 150.0) leilao = Leilao('Celular') leilao.lances.append(lance_do_gui) avaliador = Avaliador() avaliador.avalia(leilao) menor_valor_esperado = 150.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance) def test_quando_leilao_mais_de_dois_lances_avalia_maior_menor_lance( self): vini = Usuario('Vini') lance_do_vini = Lance(vini, 200.00) yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.lances.append(lance_do_yuri) self.leilao.lances.append(self.lance_do_gui) self.leilao.lances.append(lance_do_vini) avaliador = Avaliador() avaliador.avalia(self.leilao) menor_valor_esperado = 100.0 maior_valor_esperado = 200.0 self.assertEqual(menor_valor_esperado, avaliador.menor_lance) self.assertEqual(maior_valor_esperado, avaliador.maior_lance)
def joao(): return Usuario('joao', 100.0)
from leilao.dominio import Usuario, Lance, Leilao welbert = Usuario('welbert') yuri = Usuario('yuri') lance_do_yuri = Lance(yuri, 200.0) lance_do_welbert = Lance(welbert, 350.0) leilao = Leilao('Celular') leilao.lances.append(lance_do_yuri) leilao.lances.append(lance_do_welbert) for lance in leilao.lances: print(f'O Usuario {lance.usuario.nome} deu um lançe de {lance.valor}') avaliador = Avaliador() avaliador.avalia(leilao) print( f'o menor lance foi de {avaliador.menor_lance} o maior lance foi de {avaliador.maior_lance}' )
from leilao.dominio import Usuario, Lance, Leilao, Avaliador gui = Usuario('Gui') yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) lance_do_gui = Lance(gui, 150.0) leilao = Leilao('Celular') leilao.lances.append(lance_do_yuri) leilao.lances.append(lance_do_gui) for lance in leilao.lances: print(f'O usuario {lance.usuario.nome} deu um lance de {lance.valor}') avaliador = Avaliador() avaliador.avalia(leilao) print( f'O menor lance foi de {avaliador.menor_lance} e o maior lance foi de {avaliador.maior_lance}' )
def rodrigo(): return Usuario('Rodrigo', 100)