public Payslip GeneratePaySlip(double anuualSalaray, double superRate) { TaxRates taxRates = GetTaxRates(anuualSalaray); Payslip payslip = new Payslip(); payslip.grossMonthly = Math.Round((float)anuualSalaray / 12f, MidpointRounding.AwayFromZero); payslip.incomeTax = Math.Round((taxRates.baseRate + ((anuualSalaray - taxRates.lower - 1) * taxRates.additional)) / 12, MidpointRounding.AwayFromZero); payslip.netMonthly = payslip.grossMonthly - payslip.incomeTax; payslip.superRate = Math.Round(payslip.grossMonthly * superRate / 100, MidpointRounding.AwayFromZero); return payslip; }
public void GeneratePaySlipTest() { Model model = new Model(); model.Initialise(); Payslip payslipExpected = new Payslip(); Payslip payslipActual; //Expected data hardcode payslipExpected.grossMonthly = 10000; payslipExpected.incomeTax = 2696; payslipExpected.netMonthly = 7304; payslipExpected.superRate = 1000; payslipActual = model.GeneratePaySlip(120000, 10); Assert.AreEqual(payslipExpected, payslipActual); }
private void button1_Click(object sender, EventArgs e) { try { String text = textBox1.Text.ToString(); String[] values = text.Split(','); String fName = values[0]; String lName = values[1]; double annualSalary = Convert.ToDouble(values[2]); double superRate = double.Parse(values[3].Substring(0, values[3].Length - 1)); String dates = values[4]; DataAccess.Payslip payslip = m_Model.GeneratePaySlip(annualSalary, superRate); label1.Text = fName + " " + lName + "," + dates + "," + payslip.grossMonthly + "," + payslip.incomeTax + "," + payslip.netMonthly + "," + payslip.superRate; } catch (Exception ex) { MessageBox.Show("Invalid input format, please use correct format"); } }