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)
    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)
Esempio n. 3
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)
    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)
Esempio n. 5
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.propoe(lance_do_yuri)
leilao.propoe(lance_do_gui)

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

print(f"O maior lance foi {leilao.maior_lance} e o menor lance foi {leilao.menor_lance}")
Esempio n. 6
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}')
Esempio n. 7
0
 def setUp(self):
     self.gui = Usuario('Gui', 500)
     self.lance_do_gui = Lance(self.gui, 150.0)
     self.leilao = Leilao('Celular')
Esempio n. 8
0
class TestLeilao(TestCase):
    def setUp(self):
        self.gui = Usuario('Gui', 500)
        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):
        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)

    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)

    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)
        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)

    def test_deve_permitir_propor_um_lance_caso_o_leilao_nao_tenha_lance(self):
        self.leilao.propoe(self.lance_do_gui)
        self.assertEqual(1, len(self.leilao.lances))

    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)

    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)
Esempio n. 9
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}')
Esempio n. 10
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}'
)
Esempio n. 11
0
class TestAvaliador(TestCase):

    # test_quando_adicionados_em_ordem_crescente_deve_retornar_o_maior_e_o_menor_valor_de_um_lance

    def setUp(self):
        self.igor = Usuario('igor')
        self.lance_do_igor = Lance(self.igor, 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):
        hugo = Usuario('hugo')
        lance_do_hugo = Lance(hugo, 100.0)

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

        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_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)

    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_igor)

        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):
        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)
Esempio n. 12
0
class TestLeilao(TestCase):
    def setUp(self):
        self.leo = Usuario("Leo", 500.0)
        self.lance_leo = Lance(self.leo, 100.00)
        self.leilao = Leilao("Celular")

    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)

    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)

    def test_quando_adicionado_apenas_um_lance_deve_retornar_o_mesmo_valor_de_maior_e_menor_lance(self):
        self.leilao.propoe(self.lance_leo)

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

        menor_valor_esperado = 150.0
        maior_valor_esperado = 150.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)

    def test_quando_nao_tiver_lances_deve_permitir_lances(self):
        self.leilao.propoe(self.lance_leo)

        quantidade_lances_recebido = len(self.leilao.lances)
        self.assertEqual(1, quantidade_lances_recebido)

    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)


    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)
Esempio n. 13
0
def leilao():
    return Leilao('Celular')
Esempio n. 14
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}"
)
Esempio n. 15
0
def leilao():
    return Leilao("Celular")
Esempio n. 16
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}"
)
Esempio n. 17
0
 def setUp(self):
     self.leo = Usuario("Leo", 500.0)
     self.lance_leo = Lance(self.leo, 100.00)
     self.leilao = Leilao("Celular")
Esempio n. 18
0
 def setUp(self):
     self.igor = Usuario('igor')
     self.lance_do_igor = Lance(self.igor, 150.0)
     self.leilao = Leilao('Celular')
Esempio 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")
Esempio n. 20
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.propoe(lance_do_yuri)
leilao.propoe(lance_do_gui)

for lance in leilao.lances:
    print(lance)

Esempio n. 21
0
class TestLeilao(TestCase):  # herda de TestCase

    # método setUp é herdado da classe TestCase
    # quando coloca self na frente do atributo, significa que é um atributo da classe
    # setUp método da classe unittest que já invoca o setup antes de todos os testes
    # serve para isolar o cenário comum de todos os testes
    # sempre cria um objeto novo a cada teste invocado
    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

        # método para trabalhar com teste
        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):
        yuri = Usuario('Yuri', 500.0)
        vini = Usuario('Vini', 500.0)

        lance_do_yuri = Lance(yuri, 100.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

        # método para trabalhar com teste
        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_recebido = len(self.leilao.lances)
        self.assertEqual(1, 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_recebido = len(self.leilao.lances)

        self.assertEqual(2, 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_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)