static void SelectiveFieldPOCOTest() { List <EmployeeRecWithCurrency> objs = new List <EmployeeRecWithCurrency>(); EmployeeRecWithCurrency rec1 = new EmployeeRecWithCurrency(); rec1.Id = 10; rec1.Name = "Mark"; rec1.Salary = new ChoCurrency(100000); objs.Add(rec1); EmployeeRecWithCurrency rec2 = new EmployeeRecWithCurrency(); rec2.Id = 200; rec2.Name = "Lou"; rec2.Salary = new ChoCurrency(150000); objs.Add(rec2); StringBuilder msg = new StringBuilder(); string[] f = new string[] { "Id", "Name" }; using (var w = new ChoCSVWriter(msg) .WithFields(f) .WithFirstLineHeader() ) { w.Write(objs); } Console.WriteLine(msg.ToString()); }
static void CurrencyPOCOTest() { List <EmployeeRecWithCurrency> objs = new List <EmployeeRecWithCurrency>(); EmployeeRecWithCurrency rec1 = new EmployeeRecWithCurrency(); rec1.Id = 10; rec1.Name = "Mark"; rec1.Salary = new ChoCurrency(100000); objs.Add(rec1); EmployeeRecWithCurrency rec2 = new EmployeeRecWithCurrency(); rec2.Id = 200; rec2.Name = "Lou"; rec2.Salary = new ChoCurrency(150000); objs.Add(rec2); using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoCSVWriter <EmployeeRecWithCurrency>(writer).WithFirstLineHeader().QuoteAllFields()) { parser.Write(objs); writer.Flush(); stream.Position = 0; Console.WriteLine(reader.ReadToEnd()); } }
public static void CurrencyPOCOTest() { string expected = @"Id Name Salary 00010Mark $100,000.0 00200Lou $150,000.0"; string actual = null; List <EmployeeRecWithCurrency> objs = new List <EmployeeRecWithCurrency>(); EmployeeRecWithCurrency rec1 = new EmployeeRecWithCurrency(); rec1.Id = 10; rec1.Name = "Mark"; rec1.Salary = new ChoCurrency(100000); objs.Add(rec1); EmployeeRecWithCurrency rec2 = new EmployeeRecWithCurrency(); rec2.Id = 200; rec2.Name = "Lou"; rec2.Salary = new ChoCurrency(150000); objs.Add(rec2); using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoFixedLengthWriter <EmployeeRecWithCurrency>(writer).WithFirstLineHeader(). WithField("Id", 0, 5). WithField("Name", 5, 20). WithField("Salary", 25, 10)) { parser.Write(objs); writer.Flush(); stream.Position = 0; actual = reader.ReadToEnd(); } Assert.AreEqual(expected, actual); }