public void WritePayslipRecords_ReadRecords() { PaySlip[] payslips = new[] { new PaySlip { Name = PayslipExtension.RandomString(), PayPeriod = PayslipExtension.RandomString(), GrossIncome = 1245678M, IncomeTax = 4567M, NetIncome = 1245678M, Super = 1245M } }; //Writing to Bytes Byte[] recordByte = new EmployeeRecords().WriteRecordsToBytes(payslips); //Read and verify records using (StreamReader reader = new StreamReader(new MemoryStream(recordByte))) { //First line is the header var Header = reader.ReadLine(); foreach (var payrecord in payslips) { var item = reader.ReadLine(); Assert.Equal(item, $"{payrecord.Name},{payrecord.PayPeriod},{payrecord.GrossIncome},{payrecord.IncomeTax},{payrecord.NetIncome},{payrecord.Super}"); } } }
public void WritePayslipRecords_ReadHeader() { PaySlip[] payslips = new[] { new PaySlip { Name = PayslipExtension.RandomString(), PayPeriod = PayslipExtension.RandomString(), GrossIncome = 1245678M, IncomeTax = 4567M, NetIncome = 1245678M, Super = 1245M } }; //Writing to Bytes Byte[] recordByte = new EmployeeRecords().WriteRecordsToBytes(payslips); //Read and verify records using (StreamReader reader = new StreamReader(new MemoryStream(recordByte))) { //First line is the header var Header = reader.ReadLine(); Assert.Equal("Name,PayPeriod,GrossIncome,IncomeTax,NetIncome,Super", Header); } }
public void Calculate_EmployeeAnnualSalary_ReturnsValidationError() { var validation = new Validation(); decimal annualSalary = 1.5M; var employee = new Employee(PayslipExtension.RandomString(), PayslipExtension.RandomString(), annualSalary, 0M, new PaymentPeriod(new DateTime(2019, 2, 01), new DateTime(2019, 2, 28))); PayslipExtension.BuildPayslip().Calculate(new[] { employee }, validation); //validation.Errors var Errors = validation.Errors.FirstOrDefault(); Assert.Equal(Errors, $"{nameof(annualSalary)}, value:{annualSalary} must be a whole number."); }