static void Main(string[] args) { SalaryCalculator salaryCalculate = new SalaryCalculator(); //string filePath = args[0]; string filePath = "c:\\temp\\employeeDetail.csv"; Reader fileReader = new CsvReader(); List <Model.Employee> employees = fileReader.Read <Model.Employee>(filePath); //Testing //var employees = GetEmployeeData(); List <Model.Payslip> paySlips = salaryCalculate.CalculateTax(employees); PrintPayslip(paySlips); Writer fileWriter = new CsvWriter(); fileWriter.Write <Model.PayslipReport>(paySlips.Select(x => new PayslipReport { FullName = x.FullName, PayPeriod = x.PayPeriod, GrossIncome = x.GrossIncome, IncomeTax = x.IncomeTax, NetIncome = x.NetIncome, Super = x.Super }).ToList(), "c:\\temp\\EmployeePaySlip.csv"); Console.ReadKey(); }
public void CalculateTaxTest() { var employees = GetEmployeeData(); var paySlips = _salaryCalculator.CalculateTax(employees); var expectedPaySlips = ExpectedPaySlips(); Assert.Equal(2, paySlips.Count); Assert.Equal(expectedPaySlips[0].GrossIncome, paySlips[0].GrossIncome); Assert.Equal(expectedPaySlips[0].IncomeTax, paySlips[0].IncomeTax); Assert.Equal(expectedPaySlips[0].NetIncome, paySlips[0].NetIncome); Assert.Equal(expectedPaySlips[0].Super, paySlips[0].Super); Assert.Equal(expectedPaySlips[1].GrossIncome, paySlips[1].GrossIncome); Assert.Equal(expectedPaySlips[1].IncomeTax, paySlips[1].IncomeTax); Assert.Equal(expectedPaySlips[1].NetIncome, paySlips[1].NetIncome); Assert.Equal(expectedPaySlips[1].Super, paySlips[1].Super); }