public void Can_Get_Income_Tax() { var table = new IncomeTaxTable(); table.AddNewEntry(0, 18200, 0); var incomeTax = table.GetIncomeTax(18200); Assert.AreEqual(0, incomeTax); }
public void Can_Get_Income_Tax_With_Plus() { var table = new IncomeTaxTable(); var plusInfo = new PlusInfo { PlusValue = 0.325, PlusOver = 37000 }; table.AddNewEntry(37001, 80000, 3572, plusInfo); var incomeTax = table.GetIncomeTax(60050); Assert.AreEqual(922, incomeTax); }
public MonthlyPayslipResult Calculate(Employee employee) { var result = new MonthlyPayslipResult { EmployeeFullName = employee.FirstName + " " + employee.LastName, EmployeePayPeriod = employee.PayPeriod, GrossIncome = (int)Math.Floor((double)employee.Salary / 12), IncomeTax = _taxTable.GetIncomeTax(employee.Salary) }; result.NetIncome = result.GrossIncome - result.IncomeTax; result.Super = (int)Math.Floor(result.GrossIncome * (employee.SuperRate * 0.01)); return(result); }