public void calculo_de_fgts_gera_doze_parcelas() { var orcamento = new NovoOrcamentoPessoal(new Setor("Nome"), new CentroDeCusto("novo"), 2014); Conta conta = new Conta("Test", new TipoConta { Id = 1 }); conta.Adicionar(TipoTicketDePessoal.FGTS); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "Teste", Valor = 0 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "FGTS", Valor = 8 }); var fgts = new FGTS(conta, orcamento); fgts.Funcionario = new Funcionario(new Hospital("nome")) { AnoAdmissao = 2014, DataAdmissao = 1 }; fgts.Calcular(2, 1, 0, 0); Assert.AreEqual(fgts.Parcelas.Count, 12); }
public void teste_calcular_parcela_de_fgts_com_sucesso() { var orcamento = new NovoOrcamentoPessoal(new Setor("Nome"), new CentroDeCusto("novo"), 2014); var conta = new Conta("Test", new TipoConta { Id = 1 }); conta.Adicionar(TipoTicketDePessoal.FGTS); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "Teste", Valor = 0 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "FGTS", Valor = 8 }); var fgts = new FGTS(conta, orcamento); fgts.Funcionario = new Funcionario(new Hospital("nome")) { AnoAdmissao = 2014, DataAdmissao = 1 }; fgts.Calcular(2, 1, 0, 0); Parcela parcela = new Parcela { Mes = 1, Valor = 0.19111066666666665d}; Assert.AreEqual(fgts.Parcelas.FirstOrDefault().Valor, parcela.Valor); }
public void Inicializar() { funcionarioDemitido = new Funcionario(new Setor("nome")) { Demitido = true, MesDeDemissao = 6, Salario = 100, DataAdmissao = 06 }; var centroDeCustoDeTI = new CentroDeCusto("TI"); var orcamento = new NovoOrcamentoPessoal(new Setor("Nome"),centroDeCustoDeTI,2014); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket= TipoTicketDePessoal.Indenizacao, Descricao = "Indenização", Valor = 1 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.OutrasDespesas, Descricao = "Test", Valor = 0 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "Test", Valor = 0 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "FGTS", Valor = 8 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "Test", Valor = 0 }); var contaIndenizacao = new Conta("Indenização", new TipoConta { Id = (int)TipoContaEnum.Indenizacao }); contaIndenizacao.Adicionar(TipoTicketDePessoal.Indenizacao); var contaDecimoTerceiro = new Conta("Decimao Terceiro", new TipoConta { Id = (int)TipoContaEnum.DecimoTerceiro }); contaDecimoTerceiro.Adicionar(TipoTicketDePessoal.OutrasDespesas); var feriasRecisao = new Conta("Ferias de Recisão", new TipoConta { Id = (int)TipoContaEnum.Ferias }); feriasRecisao.Adicionar(TipoTicketDePessoal.FGTS); var FGTSRecisao = new Conta("FGTS de recisão", new TipoConta { Id = (int)TipoContaEnum.FGTS }); FGTSRecisao.Adicionar(TipoTicketDePessoal.FGTS); var salarioDeRecisao = new Conta("Salario de recisao", new TipoConta { Id = (int)TipoContaEnum.Salario }); salarioDeRecisao.Adicionar(TipoTicketDePessoal.FGTS); funcionarioDemitido.CalcularDespesa(centroDeCustoDeTI, contaIndenizacao, orcamento, 1, 0, 0); funcionarioDemitido.CalcularDespesa(centroDeCustoDeTI, contaDecimoTerceiro, orcamento, 1, 0, 0); funcionarioDemitido.CalcularDespesa(centroDeCustoDeTI, feriasRecisao, orcamento, 1, 0, 0); funcionarioDemitido.CalcularDespesa(centroDeCustoDeTI, FGTSRecisao, orcamento, 1, 0, 0); funcionarioDemitido.CalcularDespesa(centroDeCustoDeTI, salarioDeRecisao, orcamento, 1, 0, 0); }
public void valor_da_parcela_de_recisao_calculada_com_sucesso() { var orcamento = new NovoOrcamentoPessoal(new Setor("Nome"),new CentroDeCusto("nome"),2014); Conta conta = new Conta("TestMethod", new TipoConta { Id = 1 }); orcamento.Adicionar(new TicketDeOrcamentoPessoal(new Setor("nome")) { Descricao = "Indenização", Valor = 1 }); Recisao recisao = new Recisao(2, conta, orcamento); recisao.Calcular(2, 1, 0, 0); Parcela parcela = new Parcela { Mes = 2, Valor = 0.02d }; // CollectionAssert.Contains(recisao.Parcelas, parcela); }
private void ConstruirOrcamentoComOsDadosBasicos(string justificativa) { Orcamento = new NovoOrcamentoPessoal(Departamento, CentroDeCusto, 2014); Orcamento.Justificativa = justificativa; var tickets = new TicketsDeOrcamentoPessoal().Todos(Departamento); foreach (var ticketDeOrcamentoPessoal in tickets) Orcamento.Adicionar(ticketDeOrcamentoPessoal); }
public void t_amarrar_Pessoal_ao_centro_de_custo() { var departamentos = new Departamentos(); var todos = departamentos.Todos<Hospital>(); NovosOrcamentosPessoais orcamentos = new NovosOrcamentosPessoais(); GruposDeConta grupos = new GruposDeConta(); var encargosSociais = grupos.ObterPor("Encargos Sociais"); var remuneracao = grupos.ObterPor("Remuneração"); var beneficios = grupos.ObterPor("Benefícios"); List<NovoOrcamentoPessoal> orcamentosPessoais = new List<NovoOrcamentoPessoal>(); TicketsDeOrcamentoPessoal tickets = new TicketsDeOrcamentoPessoal(); foreach (var departamento in todos) { foreach (var centroDeCusto in departamento.CentrosDeCusto.Where(c => c.CodigoDoCentroDeCusto == "050748")) { if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == beneficios.Id)) centroDeCusto.Adicionar(beneficios); if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == remuneracao.Id)) centroDeCusto.Adicionar(remuneracao); if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == encargosSociais.Id)) centroDeCusto.Adicionar(encargosSociais); var ticketsDepartamento = tickets.Todos(departamento); var orcamento = new NovoOrcamentoPessoal(departamento, centroDeCusto, 2014); foreach (var ticket in ticketsDepartamento) { orcamento.Adicionar(ticket); } orcamentosPessoais.Add(orcamento); } } orcamentos.SalvarLista(orcamentosPessoais); }
public void l_InserirContasEGrupoDeContasNosDepartamentos() { var tiposConta = new TiposConta(); var tipoContaBeneficios = new TipoConta { Nome = "Beneficios" }; tiposConta.Adicionar(tipoContaBeneficios); Departamentos departamentos = new Departamentos(); var listaDepartamentos = departamentos.Todos(); var tipoContaFGTS = new TipoConta { Nome = "FGTS" }; var tipoContaINSS = new TipoConta { Nome = "INSS" }; var tipoContaFerias = new TipoConta { Nome = "Férias" }; var tipoContaIndenizacao = new TipoConta { Nome = "Indenização" }; var tipoContaDecimoTerceiro = new TipoConta { Nome = "Décimo Terceiro" }; var tipoContaSalario = new TipoConta { Nome = "Salário" }; var tipoContaBolsasDeEstagio = new TipoConta { Nome = "Bolsas de Estágio" }; var tipoContaExtras = new TipoConta { Nome = "Extras" }; tiposConta.Adicionar(tipoContaFGTS); tiposConta.Adicionar(tipoContaINSS); tiposConta.Adicionar(tipoContaFerias); tiposConta.Adicionar(tipoContaIndenizacao); tiposConta.Adicionar(tipoContaDecimoTerceiro); tiposConta.Adicionar(tipoContaSalario); tiposConta.Adicionar(tipoContaBolsasDeEstagio); tiposConta.Adicionar(tipoContaExtras); var gruposDeConta = new GruposDeConta(); var encargosSociais = new GrupoDeConta("Encargos Sociais"); var remuneracao = new GrupoDeConta("Remuneração"); var beneficios = new GrupoDeConta("Benefícios"); gruposDeConta.Salvar(beneficios); gruposDeConta.Salvar(remuneracao); gruposDeConta.Salvar(encargosSociais); var contaAlimentacao = new Conta("Alimentação", tipoContaBeneficios); contaAlimentacao.Adicionar(TipoTicketDePessoal.Alimentação); var contaAssistenciaMedica = new Conta("Assistência Médica", tipoContaBeneficios); contaAssistenciaMedica.Adicionar(TipoTicketDePessoal.AssistenciaMedica); var contaOutrosBeneficios = new Conta("Outros Benefícios", tipoContaBeneficios); contaOutrosBeneficios.Adicionar(TipoTicketDePessoal.OutrosBeneficios); var contaTreinamentoPessoal = new Conta("Treinamento Pessoal", tipoContaBeneficios); contaTreinamentoPessoal.Adicionar(TipoTicketDePessoal.TreinamentoPessoal); var contaValeDeTransporte = new Conta("Vale de Transporte", tipoContaBeneficios); contaValeDeTransporte.Adicionar(TipoTicketDePessoal.ValeDeTransporte); var contaOutrasDespesas = new Conta("Outras Despesas", tipoContaBeneficios); contaOutrasDespesas.Adicionar(TipoTicketDePessoal.OutrasDespesas); var contaAssistenciaOdontologica = new Conta("Assistência Odontológica", tipoContaBeneficios); contaAssistenciaOdontologica.Adicionar(TipoTicketDePessoal.AssistenciaOdontologica); beneficios.Adicionar(contaAlimentacao); beneficios.Adicionar(contaAssistenciaMedica); beneficios.Adicionar(contaAssistenciaOdontologica); beneficios.Adicionar(contaOutrosBeneficios); beneficios.Adicionar(contaTreinamentoPessoal); beneficios.Adicionar(contaValeDeTransporte); beneficios.Adicionar(contaOutrasDespesas); var contaFGTS = new Conta("FGTS", tipoContaFGTS); contaFGTS.Adicionar(TipoTicketDePessoal.FGTS); encargosSociais.Adicionar(contaFGTS); var contaINSS = new Conta("INSS", tipoContaINSS); contaINSS.Adicionar(TipoTicketDePessoal.INSS); encargosSociais.Adicionar(contaINSS); var contaFerias = new Conta("Férias", tipoContaFerias); encargosSociais.Adicionar(contaFerias); var contaIndenizacao = new Conta("Indenização", tipoContaIndenizacao); encargosSociais.Adicionar(contaIndenizacao); var contaDecimoTerceiro = new Conta("Décimo Terceiro", tipoContaDecimoTerceiro); encargosSociais.Adicionar(contaDecimoTerceiro); foreach (var conta in encargosSociais.Contas) { if (conta.Nome == "Indenização") { conta.Adicionar(TipoTicketDePessoal.Indenizacao); } else { if (conta.Nome == "INSS" || conta.Nome == "FGTS") conta.Adicionar(TipoTicketDePessoal.AdicionalDeSobreaviso); conta.Adicionar(TipoTicketDePessoal.AdicionalNoturno); conta.Adicionar(TipoTicketDePessoal.AdicionalDeInsalubridade); conta.Adicionar(TipoTicketDePessoal.AdicionaDePericulosidade); conta.Adicionar(TipoTicketDePessoal.Gratificacoes); conta.Adicionar(TipoTicketDePessoal.HorasExtras); } } remuneracao.Adicionar(new Conta("Salário", tipoContaSalario)); var contaBolsaDeEstagio = new Conta("Bolsas Estágio", tipoContaBolsasDeEstagio); contaBolsaDeEstagio.Adicionar(TipoTicketDePessoal.BolsaDeEstagio); remuneracao.Adicionar(contaBolsaDeEstagio); var contaAdicionalNoturno = new Conta("Adicional Noturno", tipoContaExtras); contaAdicionalNoturno.Adicionar(TipoTicketDePessoal.AdicionalNoturno); remuneracao.Adicionar(contaAdicionalNoturno); var contaPericulosidade = new Conta("Periculosidade", tipoContaExtras); contaPericulosidade.Adicionar(TipoTicketDePessoal.AdicionaDePericulosidade); remuneracao.Adicionar(contaPericulosidade); var contaInsalubridade = new Conta("Insalubridade", tipoContaExtras); contaInsalubridade.Adicionar(TipoTicketDePessoal.AdicionalDeInsalubridade); remuneracao.Adicionar(contaInsalubridade); var contaHorasExtras = new Conta("Horas Extras", tipoContaExtras); contaHorasExtras.Adicionar(TipoTicketDePessoal.HorasExtras); remuneracao.Adicionar(contaHorasExtras); var contaGratificacoes = new Conta("Gratificações", tipoContaExtras); contaGratificacoes.Adicionar(TipoTicketDePessoal.Gratificacoes); remuneracao.Adicionar(contaGratificacoes); Contas contas = new Orcamento.Domain.Contas(); contas.Salvar(contaGratificacoes); contas.Salvar(contaHorasExtras); contas.Salvar(contaInsalubridade); contas.Salvar(contaPericulosidade); contas.Salvar(contaAdicionalNoturno); contas.Salvar(contaBolsaDeEstagio); contas.Salvar(contaDecimoTerceiro); contas.Salvar(contaIndenizacao); contas.Salvar(contaFerias); contas.Salvar(contaINSS); contas.Salvar(contaFGTS); contas.Salvar(contaAssistenciaOdontologica); contas.Salvar(contaOutrasDespesas); contas.Salvar(contaValeDeTransporte); contas.Salvar(contaTreinamentoPessoal); contas.Salvar(contaOutrosBeneficios); contas.Salvar(contaAssistenciaMedica); contas.Salvar(contaAlimentacao); contas.Salvar(contaAssistenciaMedica); contas.Salvar(contaAssistenciaMedica); contas.Salvar(contaAssistenciaMedica); contas.Salvar(contaAssistenciaMedica); TicketsDeProducao tickets = new TicketsDeProducao(); NovosOrcamentosPessoais orcamentos = new NovosOrcamentosPessoais(); foreach (var departamento in listaDepartamentos) { var ticketDeAlimentacao = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.Alimentação, Descricao = "Alimentação", Valor = 300 }; var ticketDeAssistenciaMedica = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AssistenciaMedica, Descricao = "Assistência Médica", Valor = 300 }; var ticketAssistencia = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AssistenciaOdontologica, Descricao = "Assistência Odontológica", Valor = 50 }; var ticketDeBeneficios = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.OutrosBeneficios, Descricao = "Outros Benefícios", Valor = 50 }; var ticketTreinamentoPessoal = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.TreinamentoPessoal, Descricao = "Treinamento Pessoal", Valor = 50 }; var ticketValeTransporte = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.ValeDeTransporte, Descricao = "Vale de Transporte", Valor = 150 }; var ticketDeOutrasDespesas = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.OutrasDespesas, Descricao = "Outras Despesas", Valor = 50 }; var adicionalNoturno = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionalNoturno, Descricao = "Adicional Noturno", Valor = 4 }; var insalubridade = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionalDeInsalubridade, Descricao = "Adicional de Insalubridade", Valor = 10 }; var periculosidade = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionaDePericulosidade, Descricao = "Adicional de Periculosidade", Valor = 1 }; var gratificacoes = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.Gratificacoes, Descricao = "Gratificações", Valor = 1 }; var horasExtras = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.HorasExtras, Descricao = "Horas Extras", Valor = 2 }; var sobreaviso = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionalDeSobreaviso, Descricao = "Adicional de Sobreaviso", Valor = 0 }; var indenizacao = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.Indenizacao, Descricao = "Indenização", Valor = 235 }; var bolsaDeEstagio = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.BolsaDeEstagio, Descricao = "Bolsa de Estágio", Valor = 0 }; var fgts = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "FGTS", Valor = 8 }; var inss = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.INSS, Descricao = "INSS", Valor = 28 }; foreach (var centroDeCusto in departamento.CentrosDeCusto) { if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == beneficios.Id)) centroDeCusto.Adicionar(beneficios); if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == remuneracao.Id)) centroDeCusto.Adicionar(remuneracao); if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == encargosSociais.Id)) centroDeCusto.Adicionar(encargosSociais); } tickets.Salvar(ticketDeAlimentacao); tickets.Salvar(ticketDeAssistenciaMedica); tickets.Salvar(ticketAssistencia); tickets.Salvar(ticketDeBeneficios); tickets.Salvar(ticketTreinamentoPessoal); tickets.Salvar(ticketValeTransporte); tickets.Salvar(ticketDeOutrasDespesas); tickets.Salvar(adicionalNoturno); tickets.Salvar(insalubridade); tickets.Salvar(periculosidade); tickets.Salvar(gratificacoes); tickets.Salvar(horasExtras); tickets.Salvar(sobreaviso); tickets.Salvar(indenizacao); tickets.Salvar(bolsaDeEstagio); tickets.Salvar(fgts); tickets.Salvar(inss); List<NovoOrcamentoPessoal> orcamentosPessoais = new List<NovoOrcamentoPessoal>(); foreach (var centroDeCusto in departamento.CentrosDeCusto) { var orcamento = new NovoOrcamentoPessoal(departamento, centroDeCusto, 2014); orcamento.Adicionar(ticketDeAlimentacao); orcamento.Adicionar(ticketDeAssistenciaMedica); orcamento.Adicionar(ticketAssistencia); orcamento.Adicionar(ticketDeBeneficios); orcamento.Adicionar(ticketTreinamentoPessoal); orcamento.Adicionar(ticketValeTransporte); orcamento.Adicionar(ticketDeOutrasDespesas); orcamento.Adicionar(adicionalNoturno); orcamento.Adicionar(insalubridade); orcamento.Adicionar(periculosidade); orcamento.Adicionar(gratificacoes); orcamento.Adicionar(horasExtras); orcamento.Adicionar(sobreaviso); orcamento.Adicionar(indenizacao); orcamento.Adicionar(bolsaDeEstagio); orcamento.Adicionar(fgts); orcamento.Adicionar(inss); orcamentosPessoais.Add(orcamento); } orcamentos.SalvarLista(orcamentosPessoais); departamentos.Salvar(departamento); } }