예제 #1
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, 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)
예제 #2
0
    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)
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
 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)
예제 #6
0
    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)
예제 #7
0
    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)
예제 #8
0
    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_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)
예제 #10
0
    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)
예제 #13
0
 def setUp(self):
     self.welbert = Usuario('welbert', 500)
     self.lance_do_welbert = Lance(self.welbert, 350.0)
     self.leilao = Leilao('Celular')
예제 #14
0
    def test_nao_deve_premitir_propor_lance_caso_usuario_seja_o_mesmo(self):
        lance_do_gui200 = Lance(self.gui, 200)

        with self.assertRaises(LanceInvalido):
            self.leilao.propoe(self.lance_do_gui)
            self.leilao.propoe(lance_do_gui200)
예제 #15
0
 def setUp(self):
     self.gui = Usuario('Gui', 500.00)
     self.lance_do_gui = Lance(self.gui, 150.00)
     self.leilao = Leilao('Celular')
예제 #16
0
    def test_nao_deve_permitir_propor_lance_caso_o_usuario_seja_o_mesmo(self):
        lance_do_welberrt = Lance(self.welbert, 350)

        with self.assertRaises(LanceInvalido):
            self.leilao.propoe(self.lance_do_welbert)
            self.leilao.propoe(lance_do_welberrt)
예제 #17
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, 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}"
)
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 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)