def test_deve_retornar_o_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.setUp() lance = Lance(self.gui, 150.0) leilao = Leilao('celular') leilao.propoe(lance) menor_valor_esperado = 150.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, leilao.menor_lance) self.assertEqual(maior_valor_esperado, leilao.maior_lance)
class TestAvaliador(TestCase): def setUp(self): #Primeirometodo a ser executado self.gui = Usuario('Gui') self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionads_em_ordem_crescente( self): yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assert_(menor_valor_esperado, self.leilao.menor_lance) self.assert_(maior_valor_esperado, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionads_em_ordem_decrescente( self): yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) maior_valor_esperado = 150.0 menor_valor_esperado = 100.0 self.assert_(menor_valor_esperado, self.leilao.menor_lance) self.assert_(maior_valor_esperado, self.leilao.maior_lance) def test_deve_retornar_O_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): gui = Usuario('Gui') lance = Lance(gui, 150) self.leilao.propoe(lance) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_O_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_tres_lances( self): vini = Usuario('Vini') lance_do_vini = Lance(vini, 200.0) yuri = Usuario('Yuri') lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_vini) maior_valor_esperado = 150.0 menor_valor_esperado = 200.0 self.assert_(menor_valor_esperado, self.leilao.menor_lance) self.assert_(maior_valor_esperado, self.leilao.maior_lance)
class TestLeilao(TestCase): # CRIAÇÃO DE CENÁRIO DE TESTES, QUANDO ALGO É REPETIDO EM TODOS OS PONTOS DE TESTE. def setUp(self): self.paulo = Usuario('paulo', 500.0) self.lance_do_paulo = Lance(self.paulo, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): cris = Usuario('cris', 500.0) lance_do_cris = Lance(cris, 100.0) self.leilao.propoe(lance_do_cris) self.leilao.propoe(self.lance_do_paulo) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): cris = Usuario('cris', 500.0) lance_do_cris = Lance(cris, 100.0) self.leilao.propoe(self.lance_do_paulo) self.leilao.propoe(lance_do_cris) def test_deve_retornar_o_mesmo_valor_para_o_mairo_e_menor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_do_paulo) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_mesmo_valor_para_o_mairo_e_menor_lance_quando_leilao_tiver_tres_lances( self): cris = Usuario('cris', 500.0) marcos = Usuario('marcos', 500.0) lance_do_cris = Lance(cris, 100.0) lance_do_marcos = Lance(marcos, 200.0) self.leilao.propoe(lance_do_cris) self.leilao.propoe(self.lance_do_paulo) self.leilao.propoe(lance_do_marcos) 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_leilao_nao_tenha_lances( self): self.leilao.propoe(self.lance_do_paulo) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances_recebido) def test_deve_permitir_propor_um_lance_caso_o_ultimo_usuario_seja_diferente( self): joao = Usuario('joan', 500.0) lance_do_joao = Lance(joao, 200.0) self.leilao.propoe(self.lance_do_paulo) self.leilao.propoe(lance_do_joao) quantidade_de_lances_recebidos = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances_recebidos) def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_do_paulo200 = Lance(self.paulo, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_paulo) self.leilao.propoe(lance_do_paulo200) quantidade_de_lances_recebidos = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances_recebidos)
class TestLeilao(TestCase): def setUp(self): self.esio = Usuario("Esio",500.0) self.gustavo = Usuario("Gustavo", 500.0) self.lance_do_esio = Lance(self.esio, 100.0) self.lance_do_gustavo = Lance(self.gustavo, 150.0) self.leilao = Leilao("Carro") # test_quando_adicionados_em_ordem_crescente_deve_retornar_o_maior_e_o_menor_valor_de_um_lance def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente(self): self.leilao.propoe(self.lance_do_esio) self.leilao.propoe(self.lance_do_gustavo) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gustavo) self.leilao.propoe(self.lance_do_esio) def test_deve_retornar_o_mesmo_valor_para_o_maior_e_menor_lance_quando_o_leilao_tiver_um_lance(self): self.leilao.propoe(self.lance_do_gustavo) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_mesmo_valor_para_o_maior_e_menor_lance_quando_o_leilao_tiver_tres_lance(self): vini = Usuario('Vini',500.0) lance_do_vini = Lance(vini, 200.0) self.leilao.propoe(self.lance_do_esio) self.leilao.propoe(self.lance_do_gustavo) 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) # se o leilao não tiver lances, deve permitir propor um lance def test_deve_permitir_propor_um_lance_caso_leilao_nao_tenha_lances(self): self.leilao.propoe(self.lance_do_esio) quantidade_lances_recebido = len(self.leilao.lances) self.assertEqual(1, quantidade_lances_recebido) # se o ultimo usuario for diferente, deve permitir propor o lance def test_deve_permitir_propor_um_lance_caso_ultimo_usuario_seja_diferente(self): vini = Usuario('Vini',500.0) lance_do_vini = Lance(vini, 200.0) self.leilao.propoe(self.lance_do_esio) self.leilao.propoe(lance_do_vini) quantidade_lances_recebido = len(self.leilao.lances) self.assertEqual(2, quantidade_lances_recebido) # se o ultimo usuario for o mesmo, não deve permitir propor o lance def test_nao_deve_permitir_propor_um_lance_caso_ultimo_usuario_seja_diferente(self): self.leilao.propoe(self.lance_do_esio) with self.assertRaises(LanceInvalido): lance_do_esio2 = Lance(self.esio, 200.0) self.leilao.propoe(lance_do_esio2)
class TestLeilao(TestCase): def setUp(self): self.brenda = Usuario('Brenda', 500.0) self.lance_brenda = Lance(self.brenda, 100.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_menor_lance_de_um_lance_quando_adicionados_em_ordem_crescente( self): joao = Usuario('João', 500.0) lance_joao = Lance(joao, 150.0) self.leilao.propoe(self.lance_brenda) self.leilao.propoe(lance_joao) self.assertEqual(100, self.leilao.menor_lance) self.assertEqual(150, self.leilao.maior_lance) def test_nao_deve_permitir_propor_lance_em_ordem_descrecente(self): with self.assertRaises(LanceInvalido): joao = Usuario('João', 500.0) lance_joao = Lance(joao, 150.0) self.leilao.propoe(lance_joao) self.leilao.propoe(self.lance_brenda) def test_deve_retornar_o_mesmo_valor_para_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_brenda) self.assertEqual(100, self.leilao.menor_lance) self.assertEqual(100, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_menor_lance_quando_leilao_tiver_tres_lance( self): vini = Usuario('Vini', 500.0) joao = Usuario('João', 500.0) lance_joao = Lance(joao, 150.0) lance_vini = Lance(vini, 200.0) self.leilao.propoe(self.lance_brenda) self.leilao.propoe(lance_joao) self.leilao.propoe(lance_vini) self.assertEqual(100, self.leilao.menor_lance) self.assertEqual(200, self.leilao.maior_lance) def test_deve_permitir_propor_lance_caso_leilao_nao_tenha_lance(self): self.leilao.propoe(self.lance_brenda) quantidade_lances = len(self.leilao.lances) self.assertEqual(1, quantidade_lances) def test_deve_permitir_propor_lance_caso_ultimo_usuario_seja_diferente( self): joao = Usuario('João', 500.0) lance_joao = Lance(joao, 200.0) self.leilao.propoe(self.lance_brenda) self.leilao.propoe(lance_joao) quantidade_lances = len(self.leilao.lances) self.assertEqual(2, quantidade_lances) def test_nao_deve_permitir_propor_lance_caso_ultimo_usuario_seja_o_mesmo( self): lance_brenda500 = Lance(self.brenda, 500.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_brenda) self.leilao.propoe(lance_brenda500)
class TestLeilao(TestCase): def setUp(self): self.gui = Usuario('Gui', 500.0) self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): self.setUp() yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance( yuri, 100.0, ) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): self.setUp() with self.assertRaises(LanceInvalido): yuri = Usuario('Yuri', 500.0) 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_para_quando_o_leilao_tiver_tres_lances( self): self.setUp() yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100.0) geo = Usuario('Geo', 500.0) lance_do_geo = Lance(geo, 200.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_geo) 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_retornar_o_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.setUp() lance = Lance(self.gui, 150.0) leilao = Leilao('celular') leilao.propoe(lance) menor_valor_esperado = 150.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, leilao.menor_lance) self.assertEqual(maior_valor_esperado, leilao.maior_lance) # Se o leilão não tiver lances, deve permitir propor um lance. def test_deve_permitir_propor_um_lance_caso_o_leilao_nao_tenha_lances( self): self.leilao.propoe(self.lance_do_gui) quantidade_de_lances_recebido = (self.leilao.lances) self.assertEqual(1, len(quantidade_de_lances_recebido)) # Se o último usuário for diferente, deve permitir propor o lance. 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_recebidos = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances_recebidos) # Se o último usuário for o mesmo, não deve permitir propor o lance. def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_do_gui_200 = Lance(self.gui, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_gui_200)
class TesteLeilao(TestCase): def setUp(self): self.gui = Usuario('Gui', 500.0) self.yuri = Usuario('Yuri', 500.0) self.lance_do_yuri = Lance(self.yuri, 100.0) self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicioandos_em_ordem_crescente(self): self.leilao.propoe(self.lance_do_yuri) self.leilao.propoe(self.lance_do_gui) self.assertEqual(100.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(self.lance_do_yuri) def test_deve_retornar_o_mesmo_valor_para_maior_e_menor_lance_quando_leilao_tiver_um_lance(self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_quando_leilao_tiver_tres_lances(self): vini = Usuario('Vini', 500.0) lance_do_vini = Lance(vini, 200.0) self.leilao.propoe(self.lance_do_yuri) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_vini) self.assertEqual(100.0, self.leilao.menor_lance) self.assertEqual(200.0, self.leilao.maior_lance) def test_deve_permitir_propor_um_lance_caso_o_leilao_nao_tenha_lances(self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(1, len(self.leilao)) def test_deve_permitir_propor_lance_caso_o_ultimo_usuario_seja_diferente(self): self.leilao.propoe(self.lance_do_yuri) self.leilao.propoe(self.lance_do_gui) self.assertEqual(2, len(self.leilao)) def test_nao_deve_permitir_propor_lance_caso_o_ultimo_usuario_seja_igual(self): segundo_lance = Lance(self.gui, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(segundo_lance)
class TestLeilao(TestCase): # test_quando_adicionados_em_ordem_crescente_deve_retornar_o_maior_e_o_menor_valor_de_um_lance def setUp(self): self.gui = Usuario('Gui', 500.0) self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): yuri = Usuario('Yuri', 500.0) 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_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) 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_leilao_nao_tenha_lances( self): self.leilao.propoe(self.lance_do_gui) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(1, quantidade_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_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_do_gui200 = Lance(self.gui, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_gui200)
class Test_Leilao(TestCase): def setUp(self): self.usuario1 = Usuario('Usuario1') self.usuario2 = Usuario('Usuario2') self.usuario3 = Usuario('Usuario3') self.lance_do_usuario1 = Lance(self.usuario1, 100.0) self.lance_do_usuario2 = Lance(self.usuario2, 150.0) self.lance_do_usuario3 = Lance(self.usuario3, 200.0) self.leilao = Leilao('Celular') def test_quando_adicionados_em_ordem_crescente_deve_retornar_o_maior_e_o_menor_valor_do_lance( self): self.leilao.propoe(self.lance_do_usuario1) self.leilao.propoe(self.lance_do_usuario2) self.assertEqual(100.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_nao_deve_permitir_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_usuario2) self.leilao.propoe(self.lance_do_usuario1) self.assertEqual(100.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_mesmo_valor_para_maior_e_menor_lance_quando_leilao_tiver_tres_lance( self): self.leilao.propoe(self.lance_do_usuario1) self.leilao.propoe(self.lance_do_usuario2) self.leilao.propoe(self.lance_do_usuario3) self.assertEqual(100.0, self.leilao.menor_lance) self.assertEqual(200.0, self.leilao.maior_lance) def test_deve_retornar_o_mesmo_valor_para_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_do_usuario1) self.assertEqual(100.0, self.leilao.menor_lance) self.assertEqual(100.0, self.leilao.maior_lance) def test_deve_permitir_propor_lance_caso_o_leilao_nao_tenha_lance(self): self.leilao.propoe(self.lance_do_usuario1) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances_recebido) def text_deve_permitir_propor_um_lance_caso_o_ultimo_usario_seja_diferente( self): self.leilao.propoe(self.lance_do_usuario1) self.leilao.propoe(self.lance_do_usuario2) quantidade_de_lances_recebida = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances_recebida) def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_mesmo(self): """ try: self.leilao.propoe(self.lance_do_usuario1) self.leilao.propoe(self.lance_do_usuario1) self.fail(msg='Não Lancou exeção') except ValueError: quantidade_de_lances_recebidos = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances_recebidos) """ with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_usuario1) self.leilao.propoe(self.lance_do_usuario1)
from src.leilao.dominio import Usuario, Lance, Leilao, Avaliador # instanciando usuário dudu = Usuario('Eduardo') fer = Usuario('Fernando') amor = Usuario('Aline') # instanciando lance lance_dudu = Lance(dudu, 100.0) lance_fer = Lance(fer, 150.0) lance_amor = Lance(amor, 200.0) #instanciando leilão leilao = Leilao('celular') leilao.propoe(lance_dudu) leilao.propoe(lance_fer) leilao.propoe(lance_amor) for lance in leilao.lances: print(f'O usuário {lance.usuario.nome} deu um lance de R${lance.valor}.') print( f'O maior lance do leilão foi de {avaliador.maior_lance} e o menor lance foi de {avaliador.menor_lance}.' )
class TestAvaliador(TestCase): def setUp( self ): #com essa função nao será preciso chamar o metodo em cada metodo test self.gui = Usuario('Gui', 500.0) self.lance_do_gui = Lance(self.gui, 150) self.leilao = Leilao('celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) def test_deve_retornar_o_mesmo_valor_para_o_maior_e_menor_lance_quando_o_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(150, self.leilao.menor_lance) self.assertEqual(150, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_apenas_3_lances( self): vini = Usuario('Vini', 500.0) lance_do_vini = Lance(vini, 200.00) yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100) 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) # se o leilao nao tiver lances deve permir propor o lance def test_deve_permitir_propor_lance_caso_o_leilao_nao_tenha_lances(self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(1, len(self.leilao.lances)) def test_deve_permirtir_propor_um_lance_se_o_ultimo_usuario_seja_diferente( self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 200.00) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) quantidades_de_lances_recebidos = len(self.leilao.lances) self.assertEqual(2, quantidades_de_lances_recebidos) def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_do_gui_duzentos = Lance(self.gui, 200.00) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_gui_duzentos)
class TestLeilao(TestCase): def setUp(self): self.valor_carteira = 1000.0 self.menor_valor_esperado = 100.0 self.maior_valor_esperado = 150.0 self.usuario_bruno = Usuario('bruno', self.valor_carteira) self.lance_do_bruno = Lance(self.usuario_bruno, self.menor_valor_esperado) self.lance_da_bruna = Lance(Usuario('bruna', self.valor_carteira), self.maior_valor_esperado) self.leilao = Leilao('Video Game') def test_quando_adiciona_dois_lances_em_ordem_crescente_deve_retornar_os_de_maior_e_menor_valor( self): self.leilao.propoe(self.lance_do_bruno) self.leilao.propoe(self.lance_da_bruna) self.assertEqual(self.menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(self.maior_valor_esperado, self.leilao.maior_lance) # alguns testes deixam de ser necessários conforme o sistema evolui e implementa novas regras de negócio # def test_quando_adiciona_dois_lances_em_ordem_decrescente_deve_retornar_os_de_maior_e_menor_valor(self): # self.leilao.propoe(self.lance_da_bruna) # self.leilao.propoe(self.lance_do_bruno) # self.assertEqual(self.menor_valor_esperado, self.leilao.menor_lance) # self.assertEqual(self.maior_valor_esperado, self.leilao.maior_lance) # # eles devem ser modificados e aproveitados para validar as novas regras def test_quando_propor_lances_em_ordem_decrescente_nao_deve_permitir(self): with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_da_bruna) self.leilao.propoe(self.lance_do_bruno) def test_quando_adiciona_apenas_um_lance_deve_retornar_o_mesmo_valor_para_o_lance_de_maior_e_menor_valor( self): self.leilao.propoe(self.lance_da_bruna) self.assertEqual(self.maior_valor_esperado, self.leilao.menor_lance) self.assertEqual(self.maior_valor_esperado, self.leilao.maior_lance) def test_quando_adiciona_tres_lances_deve_retornar_os_de_maior_e_menor_valor( self): valor_maior_ainda = 200.0 self.leilao.propoe(self.lance_do_bruno) self.leilao.propoe(self.lance_da_bruna) self.leilao.propoe( Lance(Usuario('breno', self.valor_carteira), valor_maior_ainda)) self.assertEqual(self.menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(valor_maior_ainda, self.leilao.maior_lance) def test_quando_nao_ha_lances_deve_permitir_propor_um_lance(self): self.leilao.propoe(self.lance_do_bruno) self.assertEqual(1, self.leilao.quantidade_lances) def test_quando_ultimo_usuario_for_diferente_deve_permitir_propor_lance( self): self.leilao.propoe(self.lance_do_bruno) self.leilao.propoe(self.lance_da_bruna) self.assertEqual(2, self.leilao.quantidade_lances) def test_quando_ultimo_usuario_for_o_mesmo_nao_deve_permitir_propor_lance( self): # try: # self.leilao.propoe(self.lance_do_bruno) # self.leilao.propoe(self.lance_do_bruno) # self.fail(msg='Não lançou exceção.') # except LanceInvalido: # self.assertEqual(1, self.leilao.quantidade_lances) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_bruno) self.leilao.propoe(Lance(self.usuario_bruno, 500.0))
class TestLeilao(TestCase): def setUp(self): self.gui = Usuario('Gui') self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_passados_de_forma_crescente( self): self.Alex = Usuario('Alex') self.lance_do_alex = Lance(self.Alex, 100.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(self.lance_do_alex) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_passados_de_forma_decrescente( self): self.Alex = Usuario('Alex') self.lance_do_alex = Lance(self.Alex, 100.0) self.leilao.propoe(self.lance_do_alex) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_deve_retornar_o_mesmo_valor_para_maior_e_menor_quando_houver_apenas_um_lance( self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_passados_tres_lances( self): Alex = Usuario('Alex') lance_do_alex = Lance(Alex, 100.0) mateus = Usuario('Mateus') lance_do_mateus = Lance(mateus, 200.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_alex) self.leilao.propoe(lance_do_mateus) 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_lance_quando_leilao_nao_tiver_lance(self): self.leilao.propoe(self.lance_do_gui) quantidade_de_lances = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances) def test_deve_permitir_propor_lance_caso_o_usuario_anterior_seja_diferente( self): yuri = Usuario('yuri') lance_do_yuri = Lance(yuri, 200.0) self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_yuri) quantidade_de_lances = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances) def test_nao_deve_permitir_lance_caso_usuario_seja_o_mesmo(self): lance_do_gui = Lance(self.gui, 200.0) with self.assertRaises(ValueError): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_gui)
class TestLeilao(TestCase): def setUp(self): self.leo = Usuario("Leo", 500.0) self.vini = Usuario("Vini", 1500.0) self.joice = Usuario("Joice", 100.0) self.lance_vini = Lance(self.vini, 1300.0) self.lance_leo = Lance(self.leo, 300.0) self.lance_joice = Lance(self.joice, 30.0) self.leilao = Leilao("Iphone XS") def test_decrescente(self): with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_leo) self.leilao.propoe(self.lance_vini) self.leilao.propoe(self.lance_joice) def test_crescente(self): self.leilao.propoe(self.lance_joice) self.leilao.propoe(self.lance_leo) self.leilao.propoe(self.lance_vini) menor_valor_esperado = 30.0 maior_valor_esperado = 1300.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_um_lance(self): self.leilao.propoe(self.lance_vini) menor_valor_esperado = 1300.0 maior_valor_esperado = 1300.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_insere_lance_lista_vazia(self): self.leilao.propoe(self.lance_vini) self.assertEqual(1, len(self.leilao.lances)) def test_insere_lance_usuario_diferente(self): self.leilao.propoe(self.lance_leo) self.leilao.propoe(self.lance_vini) self.assertEqual(2, len(self.leilao.lances)) def test_insere_lance_usuario_igual(self): with self.assertRaises(LanceInvalido): lance_vini1400 = Lance(self.vini, 1400.0) self.leilao.propoe(self.lance_vini) self.leilao.propoe(lance_vini1400) def test_lance_maior_anterior_positivo(self): self.leilao.propoe(self.lance_joice) self.leilao.propoe(self.lance_vini) self.assertEqual(2, len(self.leilao.lances)) def test_lance_maior_anterior_negativo(self): with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_vini) self.leilao.propoe(self.lance_joice)
class TestLeilao(TestCase): def setUp(self): # criação de um cenário único para os teste rodarem self.dudu = Usuario('Eduardo', 300.0) self.fer = Usuario('Fernando', 300.0) self.amor = Usuario('Aline', 300.0) self.lance_amor = Lance(self.amor, 100.0) self.lance_fer = Lance(self.fer, 150.0) self.lance_dudu = Lance(self.dudu, 200.0) self.leilao = Leilao('celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): self.leilao.propoe(self.lance_amor) self.leilao.propoe(self.lance_fer) self.leilao.propoe(self.lance_dudu) valor_esperado_maior = 200.0 valor_esperado_menor = 100.0 self.assertEqual(valor_esperado_menor, self.leilao.menor_lance) self.assertEqual(valor_esperado_maior, self.leilao.maior_lance) def test_deve_retornar_o_mesmo_valor_para_maior_e_menor_lance_quando_leilao_tiver_apenas_um_lance( self): self.leilao.propoe(self.lance_dudu) valor_esperado_maior = 200 valor_esperado_menor = 200 self.assertEqual(valor_esperado_menor, self.leilao.menor_lance) self.assertEqual(valor_esperado_maior, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(ValueError): self.leilao.propoe(self.lance_dudu) self.leilao.propoe(self.lance_fer) self.leilao.propoe(self.lance_amor) def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_dudu_250 = Lance(self.dudu, 250.0) with self.assertRaises(ValueError): self.leilao.propoe(self.lance_dudu) self.leilao.propoe(lance_dudu_250)
class TestLeilao(TestCase): def setUp( self ): #método padrão do unittest para criar algum cenário, ele é invocado antes de rodar os testes e ele é sempre executado novamente a cada teste, é feito de forma isolada #boa prática é deixar apenas todos os atributos que são usados em TODOS OS TESTES, pois, caso tenha 4 atributos e só use 1, pode deixar esta parte do código menos perfomática self.gui = Usuario('Gui', 500.0) self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_descrescente(self): with self.assertRaises(LanceInvalido): yuri = Usuario('Yuri', 500.0) 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_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_lances( self): vini = Usuario('Vini', 500.0) lance_do_vini = Lance(vini, 200.0) yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100.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) # Se o leilão não tiver lances, deve permitir propor um lance def test_deve_permitir_propor_um_lance_caso_o_leilao_nao_tenha_lances( self): self.leilao.propoe(self.lance_do_gui) quantidade_de_lances_esperado = 1 quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(quantidade_de_lances_esperado, quantidade_de_lances_recebido) # Se o último usuário for diferente, deve permitir propor o lance 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_esperado = 2 quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(quantidade_de_lances_esperado, quantidade_de_lances_recebido) # Se o último usuário for o mesmo, não deve permitir propor o lance def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_do_gui200 = Lance(self.gui, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_gui200)
class TestLeilao(TestCase): def setUp(self): self.gui = Usuario("Gui", 500.0) self.lance_gui = Lance(self.gui, 150.0) self.leilao = Leilao("Celular") def test_nao_deve_permitir_propor_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): yuri = Usuario("Yuri", 500.0) lance_yuri = Lance(yuri, 100.0) self.leilao.propoe(self.lance_gui) self.leilao.propoe(lance_yuri) def test_deve_retornar_menor_valor_de_dois_lance_em_ordem_crescente(self): yuri = Usuario("Yuri", 500.0) lance_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_yuri) self.leilao.propoe(self.lance_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_deve_retornar_maior_valor_menor_valor_quando_leilao_tiver_um_unico_lance( self): self.leilao.propoe(self.lance_gui) menor_valor_esperado = 150.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_deve_retornar_maior_valor_menor_valor_quando_leilao_tiver_tres_lances( self): yuri = Usuario("Yuri", 500.0) lance_yuri = Lance(yuri, 100.0) vini = Usuario("Vini", 500.0) lance_vini = Lance(vini, 200.0) self.leilao.propoe(lance_yuri) self.leilao.propoe(self.lance_gui) 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) def test_deve_permitir_propor_lance_caso_nao_exista_lance(self): self.leilao.propoe(self.lance_gui) qtd_lances_recebidos = len(self.leilao.lances) self.assertEqual(1, qtd_lances_recebidos) def test_deve_permitir_propor_lance_caso_ultimo_usuario_seja_diferente_usuario_ultimo_lance( self): yuri = Usuario("Yuri", 500.0) lance_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_yuri) self.leilao.propoe(self.lance_gui) qtd_lances_recebidos = len(self.leilao.lances) self.assertEqual(2, qtd_lances_recebidos) def test_nao_deve_permitir_propor_lances_caso_usuario_seja_igual_ao_usuario_ultimo_lance( self): lance_qui_200 = Lance(self.gui, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_gui) self.leilao.propoe(lance_qui_200)
class TestLeilao(TestCase): # cenarios que se repetem def setUp(self): # metodo que cria cenários sem precisar invocá-lo em tds os testes self.sicrano = Usuario('Sicrano', 5000.0) self.lance_sicrano = Lance(self.sicrano, 1500.0) self.leilao = Leilao('Quadro') # padrões nomenclatura: # test_quando_adicionados_em_ordem_crescente_deve_retornar_maior_e_menor_valor_de_lance(self): def test_deve_retornar_maior_e_menor_valor_de_lance_quando_adicionados_em_ordem_crescente(self): fulano = Usuario('Fulano', 5000.0) lance_fulano = Lance(fulano, 1000.0) self.leilao.propoe(lance_fulano) self.leilao.propoe(self.lance_sicrano) menor_valor_esperado = 1000.0 maior_valor_esperado = 1500.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_proposicao_de_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): fulano = Usuario('Fulano', 5000.0) lance_fulano = Lance(fulano, 1000.0) self.leilao.propoe(self.lance_sicrano) self.leilao.propoe(lance_fulano) def test_deve_retornar_mesmo_valor_para_maior_e_menor_lance_quando_leilao_tiver_lance(self): self.leilao.propoe(self.lance_sicrano) self.assertEqual(1500.0, self.leilao.menor_lance) self.assertEqual(1500.0, self.leilao.maior_lance) def test_deve_retornar_maior_e_menor_valor_quando_leilao_tiver_tres_lances(self): fulano = Usuario('Fulano', 5000.0) beltrano = Usuario('Beltrano', 5000.0) lance_fulano = Lance(fulano, 1000.0) lance_beltrano = Lance(beltrano, 2000.0) self.leilao.propoe(lance_fulano) self.leilao.propoe(self.lance_sicrano) self.leilao.propoe(lance_beltrano) menor_valor_esperado = 1000.0 maior_valor_esperado = 2000.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) # se o leilao nao tiver lances, deve permitir propor um lance def test_deve_permitir_proposicao_de_lance_caso_leilao_nao_tenha_lances(self): self.leilao.propoe(self.lance_sicrano) quantidade_lances_recebidos = len(self.leilao.lances) self.assertEqual(1, quantidade_lances_recebidos) # se o último usuário for diferente, deve permitir propor um lance def test_deve_permitir_proposicao_de_lance_caso_usuario_seja_diferente(self): fulano = Usuario('Fulano', 5000.0) lance_fulano = Lance(fulano, 2000.0) self.leilao.propoe(self.lance_sicrano) self.leilao.propoe(lance_fulano) quantidade_lances_recebidos = len(self.leilao.lances) self.assertEqual(2, quantidade_lances_recebidos) # se o último usuário for o mesmo, não deve permitir propor um lance def test_nao_deve_permitir_proposicao_de_lance_caso_usuario_consecutivo_seja_igual(self): lance_sicrano2000 = Lance(self.sicrano, 2000.0) with self.assertRaises(LanceInvalido): # try/except Value Error self.leilao.propoe(lance_sicrano2000) self.leilao.propoe(self.lance_sicrano)
class TestLeilao(TestCase): # test_quando_adicionados_em_ordem_crescente_deve_retornar_o_maior_e_o_menor_valor_de_um_lance def setUp(self): self.user_01 = Usuario('usuario01', 500.0) self.lance_do_user_01 = Lance(self.user_01, 150.0) self.leilao = Leilao('Playstation5') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): user_02 = Usuario('usuario02', 500.0) lance_do_yuri = Lance(user_02, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_user_01) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): user_01 = Usuario('usuario01', 500.0) lance_user_01 = Lance(user_01, 100.0) self.leilao.propoe(self.lance_do_user_01) self.leilao.propoe(lance_user_01) def test_deve_retornar_o_mesmo_valor_para_o_maior_e_menor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_do_user_01) self.assertEqual(150.0, self.leilao.menor_lance) self.assertEqual(150.0, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_lances( self): user_01 = Usuario('usuario01', 500.0) lance_user_01 = Lance(user_01, 100.0) user_02 = Usuario('usuario02', 500.0) lance_user_02 = Lance(user_02, 200.0) self.leilao.propoe(lance_user_01) self.leilao.propoe(self.lance_do_user_01) self.leilao.propoe(lance_user_02) 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_leilao_nao_tenha_lances( self): self.leilao.propoe(self.lance_do_user_01) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances_recebido) def test_deve_permitir_propor_um_lance_caso_o_ultimo_usuario_seja_diferente( self): user_02 = Usuario('usuario02', 500.0) lance_user_02 = Lance(user_02, 200.0) self.leilao.propoe(self.lance_do_user_01) self.leilao.propoe(lance_user_02) quantidade_de_lances_recebido = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lances_recebido) def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_user_02 = Lance(self.user_01, 200.0) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_user_01) self.leilao.propoe(lance_user_02)
class TestLeilao(TestCase): #esse metodo é sempre invocado antes dos métodos(isola = garante que um teste não influencia o outro) def setUp(self): self.gui = Usuario('Gui', 500.0) self.lance_do_gui = Lance(self.gui, 150.0) self.leilao = Leilao('Celular') #deixar de forma clara def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente(self): yuri = Usuario('Yuri', 500.0) lance_do_yuri = Lance(yuri, 100.0) self.leilao.propoe(lance_do_yuri) self.leilao.propoe(self.lance_do_gui) menor_valor_esperado = 100.0 maior_valor_esperado = 150.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_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): yuri = Usuario('Yuri', 500.0) 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_mesmo_valor_para_o_maior_e_menor_lance_quando_o_leilao_estiver_um_lance(self): self.leilao.propoe(self.lance_do_gui) self.assertEqual(150.0, self.leilao.maior_lance) self.assertEqual(150.0, self.leilao.menor_lance) def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_valores(self): yuri = Usuario('Yuri', 500.0) vini = Usuario('Vini', 500.0) lance_do_vini = Lance(vini, 200.0) lance_do_yuri = Lance(yuri, 100.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_leilao_nao_tenha_lances(self): self.leilao.propoe(self.lance_do_gui) quantidade_de_lances_recebidos = len(self.leilao.lances) self.assertEqual(1, quantidade_de_lances_recebidos) 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_recebidos = len(self.leilao.lances) self.assertEqual(2,quantidade_de_lances_recebidos) def test_nao_deve_pertmitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_do_gui200 = Lance(self.gui, 200.0) #try: with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_do_gui) self.leilao.propoe(lance_do_gui200)
class TestLeilao(TestCase): def setUp(self): self.luana = Usuario('Luana', 500) self.lance_da_luana = Lance(self.luana, 150.0) self.leilao = Leilao('Celular') def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente( self): rafael = Usuario('Rafael', 500) lance_do_rafael = Lance(rafael, 100.0) self.leilao.propoe(lance_do_rafael) self.leilao.propoe(self.lance_da_luana) menor_valor_esperado = 100.0 maior_valor_esperado = 150.0 self.assertEqual(menor_valor_esperado, self.leilao.menor_lance) self.assertEqual(maior_valor_esperado, self.leilao.maior_lance) def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self): with self.assertRaises(LanceInvalido): rafael = Usuario('Rafael', 500) lance_do_rafael = Lance(rafael, 100.0) self.leilao.propoe(self.lance_da_luana) self.leilao.propoe(lance_do_rafael) def test_deve_retornar_o_mesmo_valor_para_omenor_lance_quando_leilao_tiver_um_lance( self): self.leilao.propoe(self.lance_da_luana) self.assertEqual(150, self.leilao.menor_lance) self.assertEqual(150, self.leilao.maior_lance) def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_lances( self): rafael = Usuario('Rafael', 500) lance_do_rafael = Lance(rafael, 100.0) vini = Usuario('Vini', 500) lance_do_vini = Lance(vini, 200) self.leilao.propoe(lance_do_rafael) self.leilao.propoe(self.lance_da_luana) 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) # se o leilão não tiver lances, deve permitir propor um lance. def test_deve_permitir_propor_um_lance_caso_o_leilao_nao_tenha_lances( self): self.leilao.propoe(self.lance_da_luana) quantidade_lance_recebida = len(self.leilao.lances) self.assertEqual(1, quantidade_lance_recebida) def test_deve_permitir_propor_um_lance_caso_o_ultimo_usuario_seja_diferente( self): pedro = Usuario('Pedro', 500) lance_do_pedro = Lance(pedro, 200) self.leilao.propoe(self.lance_da_luana) self.leilao.propoe(lance_do_pedro) quantidade_de_lance_recebido = len(self.leilao.lances) self.assertEqual(2, quantidade_de_lance_recebido) def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self): lance_da_luana200 = Lance(self.luana, 200) with self.assertRaises(LanceInvalido): self.leilao.propoe(self.lance_da_luana) self.leilao.propoe(lance_da_luana200)