Esempio n. 1
0
def test_dissidio_anual():
    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    vend1.realizar_visita(7)
    vend2.realizar_visita(10)
    assert prog.calcula_salario(
    ) == 6300.0, 'Salário do programador calculado incorretamente'
    assert est.calcula_salario(
    ) == 1645.0, 'Salário do estagiário calculado incorretamente'
    assert vend1.calcula_salario(
    ) == 5285.0, 'Salário do vendedor calculado incorretamente'
    assert vend2.calcula_salario(
    ) == 6725.0, 'Salário do vendedor calculado incorretamente'
    assert emp.folha_pagamento(
    ) == 19955.0, 'Folha de pagamento calculada errada'
    emp.dissidio_anual()
    assert prog.calcula_salario(
    ) == 6615, 'Salário do programador calculado incorretamente'
    assert est.calcula_salario(
    ) == 1714.75, 'Salário do estagiário calculado incorretamente'  # (1645.0 - 250) * 1.05 + 250
    assert vend1.calcula_salario(
    ) == 5521.25, 'Salário do vendedor calculado incorretamente'  # ((5285.0 - 350 - 210) * 1.05) + (350 + 210)
    assert vend2.calcula_salario(
    ) == 7028.75, 'Salário do vendedor calculado incorretamente'  # ((6725.0 - 350 - 300) * 1.05) + (350 + 300)
    assert emp.folha_pagamento(
    ) == 20879.75, 'Folha de pagamento calculada errada'
Esempio n. 2
0
def test_est_altera_cg_error():
    est = Estagiario('Fulano', 25, '*****@*****.**')
    try:
        est.altera_carga_horaria(36)
    except ValueError:
        assert est.consulta_carga_horaria() == 20
    else:
        raise AssertionError('Trocou para carga horaria invalida')
Esempio n. 3
0
def test_est_cg_invalida():
    try:
        Estagiario('Fulano', 25, '*****@*****.**', 10)
        Estagiario('Fulano', 25, '*****@*****.**', 35)
    except ValueError:
        pass
    else:
        raise AssertionError('Estagiário criado com carga horária inválida')
Esempio n. 4
0
def test_est_altera_cg_error():
    est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    try:
        est.altera_carga_horaria(36)
    except ValueError:
        msg = 'A carga horaria foi alterada antes de levantar o ValueError'
        assert est.consulta_carga_horaria() == 20, msg
    else:
        raise AssertionError('Não levantou um ValueError para carga inválida')
Esempio n. 5
0
def test_estagiario_05_calcula_salario():
    try:
        est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    except Exception:
        raise AssertionError('Erro ao criar estagiario')

    try:
        salario = est.calcula_salario()
    except Exception:
        raise AssertionError('Erro ao calcular salário')
    else:
        msg = 'Salário do estagiario calculado incorretamente'
        assert salario == 1645, msg
Esempio n. 6
0
def test_estagiario_03_altera_carga_horaria(carga_horaria):
    try:
        est = Estagiario('Fulano', 25, '*****@*****.**', 30)
    except Exception:
        raise AssertionError('Erro ao criar estagiario')

    try:
        est.carga_horaria = carga_horaria
    except Exception:
        raise AssertionError('Erro ao alterar a carga horária')
    else:
        msg = 'A carga horária não foi alterada para o novo valor'
        assert est.carga_horaria == carga_horaria, msg
Esempio n. 7
0
def test_estagiario_06_recebe_aumento():
    try:
        est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    except Exception:
        raise AssertionError('Erro ao criar estagiario')

    try:
        est.aumenta_salario()
        salario = est.calcula_salario()
    except Exception:
        raise AssertionError('Erro ao aumentar salário')
    else:
        msg = 'Aumento do salário de estagiario calculado incorretamente'
        assert abs(salario - 1714.75) < 0.01, msg
Esempio n. 8
0
def test_estagiario_04_altera_carga_horaria_invalida(carga_horaria):
    try:
        est = Estagiario('Fulano', 25, '*****@*****.**', 30)
    except Exception:
        raise AssertionError('Erro ao criar estagiario')

    try:
        est.carga_horaria = carga_horaria
    except ValueError:
        msg = 'A carga horaria foi alterada antes de levantar o ValueError'
        assert est.carga_horaria == 30, msg
    except Exception:
        raise AssertionError('Erro diferente de ValueError')
    else:
        raise AssertionError('Não levantou ValueError para carga inválida')
Esempio n. 9
0
def test_zera_visitas_empresa():
    programador = Programador("prg", 23, "*****@*****.**", 40)
    estagiario = Estagiario('estag', 18, '*****@*****.**', 20)

    vendedor1 = Vendedor("v1", 30, "*****@*****.**", 30)
    vendedor1.realizar_visita(3)

    vendedor2 = Vendedor("v2", 30, "*****@*****.**", 30)
    vendedor2.realizar_visita(5)

    funcionarios = list()
    funcionarios.append(programador)
    funcionarios.append(estagiario)
    funcionarios.append(vendedor1)
    funcionarios.append(vendedor2)

    empresa = Empresa("Empresa", 12345, "TI", funcionarios)
    assert vendedor1.email in empresa.listar_visitas()
    assert empresa.listar_visitas()[vendedor1.email] == 3

    assert vendedor2.email in empresa.listar_visitas()
    assert empresa.listar_visitas()[vendedor2.email] == 5

    empresa.zerar_visitas_vendedores()
    assert vendedor1.email in empresa.listar_visitas()
    assert empresa.listar_visitas()[vendedor1.email] == 0

    assert vendedor2.email in empresa.listar_visitas()
    assert empresa.listar_visitas()[vendedor2.email] == 0


# Fazer os testes do vendedor (calcula salario, calcula aumento, aumenta visita)
# Fazer os testes de erro de carga horaria
# Fazer os testes de carga horaria (consulta e alteração)
Esempio n. 10
0
def test_dissidio():
    prog = Programador('Cicrano', 31, '*****@*****.**')
    emp = Empresa('ACME', 123456789, 'Tecnologia', [prog])
    est = Estagiario('Fulano', 25, '*****@*****.**')
    emp.contrata(est)
    emp.dissidio_anual()
    assert abs(emp.folha_pagamento() - 8329.75) < 0.01
Esempio n. 11
0
def test_cria_est_cg_invalida():
    try:
        Estagiario('Fulano', 25, '*****@*****.**', 10)
    except ValueError:
        pass
    else:
        raise AssertionError('Nao deveria criar com carga Horaria invalida')
Esempio n. 12
0
def test_02_comeca_func_empresa():
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [est])
    assert len(emp.lista_fucionarios(
    )) == 1, 'A lista de funcionários dever começar com o valor passado'
    assert emp.lista_fucionarios(
    )[0].nome == 'Pedro', 'O funcionário não foi adicionado à lista'
Esempio n. 13
0
def test_estagiario_02_cria_objeto_carga_horaria_invalida(carga_horaria):
    try:
        Estagiario('Fulano', 25, '*****@*****.**', carga_horaria)
    except ValueError:
        pass
    except Exception:
        raise AssertionError('Erro diferente de ValueError')
    else:
        raise AssertionError('Estagiario criado com carga horária inválida')
Esempio n. 14
0
def test_estagiario_01_cria_objeto():
    try:
        est = Estagiario('Fulano', 25, '*****@*****.**', 30)
    except Exception:
        raise AssertionError('Erro ao criar estagiario')
    else:
        assert est.nome == 'Fulano', 'nome incorreto'
        assert est.idade == 25, 'idade incorreta'
        assert est.email == '*****@*****.**', 'email incorreto'
        assert est.carga_horaria == 30, 'carga horária incorreta'
Esempio n. 15
0
def test_04_folha_pagamento():
    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    vend1.realizar_visita(7)
    vend2.realizar_visita(10)
    assert emp.folha_pagamento(
    ) == 19955.0, 'Folha de pagamento calculada errada'
Esempio n. 16
0
def test_calcula_folha_pagamento_empresa():
    programador = Programador("prg", 23, "*****@*****.**", 40)
    estagiario = Estagiario('estag', 18, '*****@*****.**', 20)
    vendedor1 = Vendedor("v1", 30, "*****@*****.**", 30)
    vendedor2 = Vendedor("v2", 30, "*****@*****.**", 30)

    funcionarios = list()
    funcionarios.append(programador)
    funcionarios.append(estagiario)
    funcionarios.append(vendedor1)
    funcionarios.append(vendedor2)

    empresa = Empresa("Empresa", 12345, "TI", funcionarios)
    folha_pagamento = empresa.folha_pagamento()
    assert folha_pagamento == 16745.00
Esempio n. 17
0
def test_05_lista_visitas():

    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    vend1.realizar_visita(5)
    vend2.realizar_visita(5)
    assert len(emp.listar_visitas()) == 2, "quantidade de vendedores errado"
    assert (
        emp.listar_visitas()[vend1.email] +
        emp.listar_visitas()[vend2.email]) == 10, "Numero de visitas incorreto"
Esempio n. 18
0
def test_03_inclui_func():
    est = Estagiario('Maria', 25, '*****@*****.**', 20)
    prog = Programador('Ana', 31, '*****@*****.**', 40)
    vend = Vendedor('Marcos', 28, '*****@*****.**', 35)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(est)
    emp.contrata(prog)
    emp.contrata(vend)
    funcinarios = emp.lista_fucionarios()
    assert len(
        funcinarios
    ) == 3, 'Lista de funcionários não contém o número correto de funcionários contratados'
    assert funcinarios[
        0].nome == 'Maria', 'O primeiro item da lista não é o primeiro funcionário contratado'
    assert funcinarios[
        1].nome == 'Ana', 'O segundo item da lista não é o segundo funcionário contratado'
    assert funcinarios[
        2].nome == 'Marcos', 'O terceiro item da lista não é o terceiro funcionário contratado'
Esempio n. 19
0
def test_zera_todas_visitas():
    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    vend1.realizar_visita(7)
    vend2.realizar_visita(10)
    assert emp.listar_visitas() == {
        'Mauro': 7,
        'Carla': 10
    }, 'A quantidade de visitas foi retornada errada'
    emp.zerar_visitas_vendedores()
    assert emp.listar_visitas() == {
        'Mauro': 0,
        'Carla': 0
    }, 'A quantidade de visitas foi retornada errada'
Esempio n. 20
0
def test_mostra_visitas_empresa():
    programador = Programador("prg", 23, "*****@*****.**", 40)
    estagiario = Estagiario('estag', 18, '*****@*****.**', 20)

    vendedor1 = Vendedor("v1", 30, "*****@*****.**", 30)
    vendedor1.realizar_visita(3)

    vendedor2 = Vendedor("v2", 30, "*****@*****.**", 30)
    vendedor2.realizar_visita(5)

    funcionarios = list()
    funcionarios.append(programador)
    funcionarios.append(estagiario)
    funcionarios.append(vendedor1)
    funcionarios.append(vendedor2)

    empresa = Empresa("Empresa", 12345, "TI", funcionarios)
    assert vendedor1.email in empresa.listar_visitas()
    assert empresa.listar_visitas()[vendedor1.email] == 3

    assert vendedor2.email in empresa.listar_visitas()
    assert empresa.listar_visitas()[vendedor2.email] == 5
Esempio n. 21
0
def test_inclui_func():
    emp = Empresa('ACME', 123456789, 'Tecnologia')
    est = Estagiario('Fulano', 25, '*****@*****.**')
    emp.contrata(est)
    assert len(emp.lista_fucionarios()) == 1
    assert emp.lista_fucionarios()[0].nome == 'Fulano'
Esempio n. 22
0
def test_est_recebe_aumento():
    est = Estagiario('Fulano', 25, '*****@*****.**')
    est.aumenta_salario()
    assert abs(est.calcula_salario() - 1714.75) < 0.01
Esempio n. 23
0
def test_est_calcula_salario():
    est = Estagiario('Fulano', 25, '*****@*****.**')
    assert est.calcula_salario() == 1645
Esempio n. 24
0
def test_est_altera_cg():
    est = Estagiario('Fulano', 25, '*****@*****.**')
    est.altera_carga_horaria(30)
    assert est.consulta_carga_horaria() == 30
Esempio n. 25
0
def test_est_consulta_cg():
    est = Estagiario('Fulano', 25, '*****@*****.**')
    assert est.consulta_carga_horaria() == 20
Esempio n. 26
0
def test_folha_pagamento():
    prog = Programador('Cicrano', 31, '*****@*****.**')
    emp = Empresa('ACME', 123456789, 'Tecnologia', [prog])
    est = Estagiario('Fulano', 25, '*****@*****.**')
    emp.contrata(est)
    assert emp.folha_pagamento() == 7945
Esempio n. 27
0
def test_est_recebe_aumento():
    est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    est.aumenta_salario()
    msg = 'Aumento do salário do estagiário calculado incorretamente'
    assert abs(est.calcula_salario() - 1714.75) < 0.01, msg
Esempio n. 28
0
def test_est_calcula_salario():
    est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    msg = 'Salário do estagiário calculado incorretamente'
    assert est.calcula_salario() == 1645, msg
Esempio n. 29
0
def test_est_consulta_cg():
    est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    msg = ('o método consulta_carga_horária não retornou o valor da '
           'carga horaria semanal')
    assert est.consulta_carga_horaria() == 20, msg
Esempio n. 30
0
def test_est_altera_cg():
    est = Estagiario('Fulano', 25, '*****@*****.**', 20)
    est.altera_carga_horaria(30)
    msg = 'A carga horária não foi alterada para o novo valor'
    assert est.consulta_carga_horaria() == 30, msg