Esempio n. 1
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. 2
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. 3
0
def test_calcula_folha_pagamento_com_dissidio_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)
    empresa.dissidio_anual()
    folha_pagamento = empresa.folha_pagamento()
    assert folha_pagamento == 17534.75
Esempio n. 4
0
def test_empresa_folha_pagamento_2():
    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(3)
    vend2.realizar_visita(5)
    msg = 'Folha de pagamento calculada errada'
    assert emp.folha_pagamento() == 19685.0, msg
    emp.dissidio_anual()
    msg = 'Folha de pagamento calculada errada após o dissidio'
    assert abs(emp.folha_pagamento() - 20609.75) < 0.01, msg