public void String_data_with_comma_write()
{
// Arrange
var io = new ContributionFileIO();
var stream = new MemoryStream();
var writer = new StreamWriter(stream) { AutoFlush = true };
var file = new ContributionFile(new[] { CreateValidRecord() });
file[0].AddressLine1 = "Address, Line1";
file[0].AddressLine2 = "Address, Line2";
file[0].AddressLine3 = "Address, Line3";
file[0].AddressLine4 = "Address, Line4";
file[0].EmployerID = "Employer,ID";
file[0].EmploymentEndReason = "Employment,End,Reason";
file[0].FamilyName = "Family,Name";
file[0].FundEmployerID = "Fund,Employer,ID";
file[0].FundID = "Fund,ID";
file[0].FundName = "Fund,Name";
file[0].GivenName = "Given,Name";
file[0].MemberID = "Member,ID";
file[0].MobileNumber = "Mobile,Number";
file[0].OtherContributorName = "Other,Contributor,Name";
file[0].OtherGivenName = "Other,Given,Name";
file[0].PayrollID = "Payroll,ID";
file[0].PhoneNumber = "Phone,Number";
file[0].Suburb = "Suburb,";
file[0].YourContributionReference = "Your,Contribution,Reference";
file[0].YourFileReference = "Your,File,Reference";
// Act
io.Write(writer, file);
// Assert
Assert.IsTrue(writer.BaseStream.Length > 0);
stream.Position = 0;
var data = new StreamReader(stream).ReadToEnd();
stream.Dispose();
Assert.AreEqual(
@"YourFileReference,YourFileDate,ContributionPeriodStartDate,ContributionPeriodEndDate,EmployerID,PayrollID,NameTitle,FamilyName,GivenName,OtherGivenName,NameSuffix,DateOfBirth,Gender,TaxFileNumber,PhoneNumber,MobileNumber,EmailAddress,AddressLine1,AddressLine2,AddressLine3,AddressLine4,Suburb,State,PostCode,Country,EmploymentStartDate,EmploymentEndDate,EmploymentEndReason,FundID,FundName,FundEmployerID,MemberID,EmployerSuperGuaranteeAmount,EmployerAdditionalAmount,MemberSalarySacrificeAmount,MemberAdditionalAmount,OtherContributorType,OtherContributorName,YourContributionReference
YourFileReference,,01-Jan-15,01-Jul-15,EmployerID,PayrollID,,FamilyName,GivenName,OtherGivenName,,01-Jan-90,,,PhoneNumber,MobileNumber,,Address Line1,Address Line2,Address Line3,Address Line4,Suburb,,,,,,EmploymentEndReason,FundID,FundName,FundEmployerID,MemberID,,,,,,OtherContributorName,YourContributionReference
", data);
}