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