Example #1
0
        public Task <IEnumerable <EmployeeResponse> > ListCalculationIR(decimal minimumWage)
        {
            InputForTaxRule inputForTaxRule = new InputForTaxRule(minimumWage);
            var             employees       = _unitOfWork.EmployeeRepository.GetAllAsync().Result;
            var             employeesTax    = employees.Select(x => inputForTaxRule.CalculateTaxpayer(x));
            var             result          = employeesTax.OrderBy(x => x.ValueTaxIR).ThenBy(x => x.Name).ToList();

            return(Task.FromResult(result.Select(p => p.ConvertToResponse())));
        }
Example #2
0
        public void CalculateValueTaxIr_Rule4_IsSucess()
        {
            var minimumWage     = 1000M;
            var netSalary       = 5100M;
            var inputForTaxRule = new InputForTaxRule(minimumWage);
            var expected        = 1147.500M;

            var result = inputForTaxRule.CalculateValueTaxIr(netSalary);

            Assert.IsType <decimal>(minimumWage);
            Assert.IsType <decimal>(netSalary);
            Assert.IsType <InputForTaxRule>(inputForTaxRule);
            Assert.IsType <decimal>(expected);
            Assert.Equal(expected, result);
        }
Example #3
0
        public void CalculateNetSalary_WithDependents_IsSucess()
        {
            var      minimumWage     = 954M;
            Employee employee        = new Employee("448.028.616-05", "Patricia", 2000, 2);
            var      inputForTaxRule = new InputForTaxRule(minimumWage);
            var      expected        = 1904.6M;

            var result = inputForTaxRule.CalculateNetSalary(employee);

            Assert.IsType <Employee>(employee);
            Assert.IsType <decimal>(minimumWage);
            Assert.IsType <InputForTaxRule>(inputForTaxRule);
            Assert.IsType <decimal>(expected);
            Assert.Equal(expected, result);
        }