Ejemplo n.º 1
0
    def test_quando_o_leilao_tiver_3_lances_deve_retorar_o_maior_e_o_menor_lance(
            self):
        user1 = Usuario('Cristiano')
        user2 = Usuario('Astolfo')
        user3 = Usuario('Maria')

        lance_user1 = Lance(user1, 150.0)
        lance_user2 = Lance(user2, 100.0)
        lance_user3 = Lance(user3, 200.0)

        leilao = Leilao('Notebook')

        leilao.lances.append(lance_user1)
        leilao.lances.append(lance_user2)
        leilao.lances.append(lance_user3)

        avaliador = Avaliador()
        avaliador.avalia(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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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, 100.0)
        vini = Usuario('Vini', 500)

        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)
Ejemplo n.º 4
0
    def test_deve_retornar_o_maior_e_o_menor_valor_quando_o_leilao_tiver_tres_lances(
            self):
        hugo = Usuario('hugo')
        lance_do_hugo = Lance(hugo, 100.0)
        marcela = Usuario('marcela')

        lance_da_marcela = Lance(marcela, 200.0)

        self.leilao.propoe(lance_do_hugo)
        self.leilao.propoe(self.lance_do_igor)
        self.leilao.propoe(lance_da_marcela)

        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)
Ejemplo n.º 5
0
    def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_crescente(
            self):
        with self.assertRaises(LanceInvalido):
            yuri = Usuario('Yuri', 500)
            lance_do_yuri = Lance(yuri, 100.0)

            self.leilao.propoe(self.lance_do_gui)
            self.leilao.propoe(lance_do_yuri)
Ejemplo n.º 6
0
    def test_deve_permitir_propor_lance_caso_ultimo_usuario_seja_diferente(
            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)
        self.assertEqual(2, len(self.leilao.lances))
Ejemplo n.º 7
0
    def test_quando_ultimo_usuario_for_diferente_deve_permitir_lance(self):
        lais = Usuario("Lais", 500.0)
        lance_lais = Lance(lais, 150.0)

        self.leilao.propoe(self.lance_leo)
        self.leilao.propoe(lance_lais)

        quantidade_lances_recebido = len(self.leilao.lances)
        self.assertEqual(2, quantidade_lances_recebido)
Ejemplo n.º 8
0
        def test_avalia2(self):
            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_gui)
            leilao.lances.append(lance_do_yuri)

            avaliador = Avaliador()
            avaliador.avalia(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)
Ejemplo n.º 9
0
    def test_deve_permitir_propor_um_lance_caso_o_ultimo_usuario_seja_diferente(
            self):
        yuri = Usuario("Yuri", 500)
        lance_do_yuri = Lance(yuri, 200)

        self.leilao.propoe(self.lance_do_gui)
        self.leilao.propoe(lance_do_yuri)

        quantidade_lances = len(self.leilao.lances)

        self.assertEqual(2, quantidade_lances)
Ejemplo n.º 10
0
    def test_nao_deve_permitir_propor_um_lance_ordem_decresente(self):
        yuri = Usuario('Yuri', 500)
        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)
Ejemplo n.º 11
0
    def test_deve_retornar_o_maior_e_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)
Ejemplo n.º 12
0
    def test_quando_adicionados_em_ordem_crescente_deve_retorar_o_maior_e_o_menor_de_um_lance(
            self):
        user1 = Usuario('Cristiano')
        user2 = Usuario('Astolfo')

        lance_user2 = Lance(user2, 100.0)
        lance_user1 = Lance(user1, 150.0)

        leilao = Leilao('Notebook')

        leilao.lances.append(lance_user2)
        leilao.lances.append(lance_user1)

        avaliador = Avaliador()
        avaliador.avalia(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)
Ejemplo n.º 13
0
    def test_deve_retornar_o_maior_e_o_menor_valor_de_um_lance_quando_adicionados_em_ordem_decrescente(
            self):
        hugo = Usuario('hugo')
        lance_do_hugo = Lance(hugo, 100.0)

        self.leilao.propoe(self.lance_do_igor)
        self.leilao.propoe(lance_do_hugo)

        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)
Ejemplo n.º 14
0
    def test_quando_adicionado_tres_lances_deve_retornar_maior_e_menor_valor_do_lance(self):
        lais = Usuario("Lais", 500.0)
        lance_lais = Lance(lais, 150.0)
        leona = Usuario("Leona", 500.0)

        self.lance_leo = Lance(self.leo, 100.00)
        lance_leona = Lance(leona, 200.0)
        lance_lais = Lance(lais, 150.0)


        self.leilao.propoe(self.lance_leo)
        self.leilao.propoe(lance_lais)
        self.leilao.propoe(lance_leona)


        print(self.leilao.maior_lance)
        print(self.leilao.menor_lance)

        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)
Ejemplo n.º 15
0
    def test_quando_adicionado_lances_ordem_crescente_deve_retornar_maior_e_menor_valor_do_lance(self):
        lais = Usuario("Lais", 500.0)
        lance_lais = Lance(lais, 150.0)
        self.leilao.propoe(self.lance_leo)
        self.leilao.propoe(lance_lais)

        print(self.leilao.maior_lance)
        print(self.leilao.menor_lance)

        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)
Ejemplo n.º 16
0
    def test_quando_adicionado_lances_ordem_decrescente_nao_deve_permitir_propor_lance(self):
        with self.assertRaises(LanceInvalido):
            lais = Usuario("Lais", 500.0)
            lance_lais = Lance(lais, 150.0)
            self.leilao.propoe(lance_lais)
            self.leilao.propoe(self.lance_leo)

            print(self.leilao.maior_lance)
            print(self.leilao.menor_lance)

            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)
Ejemplo n.º 17
0
    def test_quando_leilao_tiver_um_lance_deve_retornar_o_mesmo_valor_para_o_maior_e_menor_lance(
            self):

        user1 = Usuario('Cristiano')

        lance_user1 = Lance(user1, 150.0)

        leilao = Leilao('Notebook')

        leilao.lances.append(lance_user1)

        avaliador = Avaliador()
        avaliador.avalia(leilao)

        self.assertEqual(150.0, avaliador.menor_lance)
        self.assertEqual(150.0, avaliador.maior_lance)
Ejemplo n.º 18
0
    def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self):
        lance_do_gui_200 = Lance(self.gui, 200.0)

        # uma forma de tratar a exceção
        # try:
        #     self.leilao.propoe(self.lance_do_gui)
        #     self.leilao.propoe(lance_do_gui_200)
        #     # se executou as linhas de cima, deveria ter dado excessão
        #     self.fail(msg='Não lançou exceção')
        # # dado a exceção e não executado as linhas de cima, faço a verificação abaixo.
        # except ValueError:
        #     quantidade_de_lances_recebidos = len(self.leilao.lances)
        #     self.assertEqual(1, quantidade_de_lances_recebidos)

        # outra forma de tratar exceção usando método do testcase
        # espera um erro
        with self.assertRaises(LanceInvalido):
            self.leilao.propoe(self.lance_do_gui)
            self.leilao.propoe(lance_do_gui_200)
Ejemplo n.º 19
0
 def setUp(self):
     self.gui = Usuario("Gui", 500.0)
     self.lance_do_gui = Lance(self.gui, 150.0)
     self.leilao = Leilao("Celular")
Ejemplo n.º 20
0
 def setUp(self):
     self.igor = Usuario('igor')
     self.lance_do_igor = Lance(self.igor, 150.0)
     self.leilao = Leilao('Celular')
Ejemplo n.º 21
0
from dominio import Usuario, Lance, Leilao, Avaliador

david = Usuario("David")
Ana = Usuario("Ana")

lance_david = Lance(david, 200)
lance_ana = Lance(Ana, 120)

leilao = Leilao("Bicicleta")

leilao.lances.append(lance_ana)
leilao.lances.append(lance_david)

for lance in leilao.lances:
    print('O Usuario: {} fez o lance de {}:'.format(lance.usuario.nome,
                                                    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}'
)
Ejemplo n.º 22
0
 def setUp(self):
     self.leo = Usuario("Leo", 500.0)
     self.lance_leo = Lance(self.leo, 100.00)
     self.leilao = Leilao("Celular")
Ejemplo n.º 23
0
from dominio import Cliente, Lance, Leilao

phyl = Cliente("Phyl")
igor = Cliente("Igor")
luana = Cliente("Luana")
sarah = Cliente("Sarah")

lance_do_phyl = Lance(phyl, 150.0)
lance_do_igor = Lance(igor, 100.0)
lance_da_luana = Lance(luana, 80.0)
lance_da_sarah = Lance(sarah, 200.0)

leilao = Leilao("1 Saco de Arroz de 5kg")

leilao.propoe(lance_do_igor)
leilao.propoe(lance_do_phyl)
leilao.propoe(lance_da_luana)
leilao.propoe(lance_da_sarah)

for lance in leilao.lances:
    print(f"O cliente {lance.cliente.nome} deu um lance de {lance.valor}.")

print(
    f"O menor lance foi de {leilao.menor_lance} e o maior lance foi de {leilao.maior_lance}"
)
Ejemplo n.º 24
0
from dominio import Usuario, Lance, Leilao, Avaliador

igor = Usuario('igor')
hugo = Usuario('hugo')

lance_do_hugo = Lance(hugo, 100.0)
lance_do_igor = Lance(igor, 150.0)

leilao = Leilao('Celular')

leilao.lances.append(lance_do_hugo)
leilao.lances.append(lance_do_igor)

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}')
Ejemplo n.º 25
0
from dominio import Usuario, Lance, Leilao

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 usuário {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}"
)
Ejemplo n.º 26
0
    def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self):
        lance2 = Lance(self.gui, 200)

        with self.assertRaises(LanceInvalido):
            self.leilao.propoe(self.lance_do_gui)
            self.leilao.propoe(lance2)
Ejemplo n.º 27
0
    def test_quando_ultimo_usuario_for_igual_nao_deve_permitir_lance(self):
        lance_leo_200 = Lance(self.leo, 200)

        with self.assertRaises(LanceInvalido):
            self.leilao.propoe(self.lance_leo)
            self.leilao.propoe(lance_leo_200)
Ejemplo n.º 28
0
 def setUp(self):
     self.gui = Usuario('Gui', 500)
     self.lance_do_gui = Lance(self.gui, 150.0)
     self.leilao = Leilao('Celular')
Ejemplo n.º 29
0
from dominio import Usuario, Lance, Leilao, Avaliador

luan = Usuario("luan")
lucas = Usuario("lucas")

lance_do_luan = Lance(luan, 150.0)
lance_do_lucas = Lance(lucas, 250.0)

leilao = Leilao("Celular")

leilao.lances.append(lance_do_luan)
leilao.lances.append(lance_do_lucas)

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}'
)
Ejemplo n.º 30
0
from dominio import Usuario, Leilao, Lance, Avaliador

leo = Usuario("Leo")
vini = Usuario("Vini")
joice = Usuario("Joice")

lance_leo = Lance(leo, 300.0)
lance_vini = Lance(vini, 1300.0)
lance_joice = Lance(joice, 30.0)

leilao = Leilao("Iphone XS")

leilao.lances.append(lance_leo)
leilao.lances.append(lance_vini)
leilao.lances.append(lance_joice)

avaliador = Avaliador()
avaliador.avalia(leilao)

print(f'Maior lance: {avaliador.maior_lance}')
print(f'Menor lance: {avaliador.menor_lance}')