예제 #1
0
        public void ObterValorTest(double valor)
        {
            var inss   = new INSSComponenteDeCalculo();
            var tabela = new ComponentesCalculados(CenarioContrato.CrieCenarioConsistente(valor), DateTime.Now);

            tabela.AdicioneValor(inss, (ValorComponenteCalculo)valor);
            tabela.AdicioneValor(new FGTSComponenteCalculo(), (ValorComponenteCalculo)valor);
            Assert.Equal((ValorComponenteCalculo)valor, tabela.Valor(EnumComponentesCalculo.FGTS));
        }
        public void Calcule(double salario, double result)
        {
            var contrato = CenarioContrato.CrieCenarioConsistente(salario);
            var tabela   = new ComponentesCalculados(contrato, DateTime.Now);

            tabela.AdicioneValor(new BaseSalarioComponenteCalculo(), (ValorComponenteCalculo)salario);
            var componente     = new FGTSComponenteCalculo();
            var valorCalculado = componente.Calcule(contrato, tabela);

            Assert.Equal((ValorComponenteCalculo)result, valorCalculado);
        }
예제 #3
0
        public void AdicioneValor(double valor, bool result)
        {
            var contrato = CenarioContrato.CrieCenarioConsistente(valor);
            var inss     = new INSSComponenteDeCalculo();
            var tabela   = new ComponentesCalculados(contrato, new DateTime(2020, 1, 1));

            tabela.AdicioneValor(inss, (ValorComponenteCalculo)valor);
            Assert.True(tabela.ExisteValores == result);
            Assert.Equal(new DateTime(2020, 1, 1), tabela.Referencia);
            Assert.Equal(contrato.IdColaborador, tabela.IdColaborador);
            Assert.Equal(contrato.IdContrato, tabela.IdContrato);
            Assert.True(tabela.Valores.Count > 0 == result);
        }
예제 #4
0
        public void Calcule(double salarioContratual,
                            double inss,
                            double irrf,
                            double result)
        {
            var tabela = new ComponentesCalculados(null, DateTime.Now);

            tabela.AdicioneValor(new BaseSalarioComponenteCalculo(), (ValorComponenteCalculo)salarioContratual);
            tabela.AdicioneValor(new INSSComponenteDeCalculo(), (ValorComponenteCalculo)inss);
            tabela.AdicioneValor(new IRRFComponenteDeCalculo(), (ValorComponenteCalculo)irrf);
            var contrato       = CenarioContrato.CrieCenarioConsistente(salarioContratual);
            var compomente     = new SalarioLiquidoComponenteDeCalculo();
            var valorCalculado = compomente.Calcule(contrato, tabela);

            Assert.Equal(result, valorCalculado.Valor);
        }
예제 #5
0
 public ValorComponenteCalculo Calcule(Contrato contrato, ComponentesCalculados tabela)
 => contrato.SalarioContratual;
예제 #6
0
 public ValorComponenteCalculo Calcule(Contrato contrato, ComponentesCalculados tabela)
 => formulaSalarioLiquido(tabela.Valor(EnumComponentesCalculo.BaseSalario),
                          tabela.Valor(EnumComponentesCalculo.Inss),
                          tabela.Valor(EnumComponentesCalculo.IRRF));
 public ValorComponenteCalculo Calcule(Contrato contrato, ComponentesCalculados tabela)
 => new ValorComponenteCalculo((tabela.Valor(EnumComponentesCalculo.BaseSalario).Valor *FATORPERCENTUALFGTS) / 100);
예제 #8
0
 public ValorComponenteCalculo Calcule(Contrato contrato, ComponentesCalculados tabela)
 => new ValorComponenteCalculo(tabela.Valor(EnumComponentesCalculo.BaseSalario).Valor);
 public ValorComponenteCalculo Calcule(Contrato contrato, ComponentesCalculados tabela)
 => TabelaDescontoSalarioContribuicaoINSS.CalculeDescontoINSS(tabela.Valor(EnumComponentesCalculo.BaseSalario));
예제 #10
0
 public ValorComponenteCalculo Calcule(Contrato contrato, ComponentesCalculados tabela)
 => TabelaDescontoIRRF.CalculeDescontoIRRF(tabela.Valor(EnumComponentesCalculo.BaseSalario));
 public Task InsiraValoresCalculados(ComponentesCalculados componentesCalculados)
 => Task.CompletedTask;