public void WriterHasNoDefaultConstructorReferenceHasNoDefaultConstructorTest() { using (var writer = new StringWriter()) using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)) { var list = new List <SimpleHasNoDefaultConstructorReferenceHasNoDefaultConstructor> { new SimpleHasNoDefaultConstructorReferenceHasNoDefaultConstructor(1, new NoDefaultConstructor("one")) }; csv.WriteRecords(list); writer.Flush(); var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("Id,Name"); expected.AppendLine("1,one"); Assert.Equal(expected.ToString(), writer.ToString()); } }
public void WriteWithAutoMapTest() { var records = new List <Bar> { new Bar { Id = 1 }, }; using (var writer = new StringWriter()) using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)) { csv.WriteRecords(records); var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("Id"); expected.AppendLine("1"); Assert.Equal(expected.ToString(), writer.ToString()); } }
public void WritePublicFieldsAndPropertiesWithAutoMapTest() { var config = new CsvConfiguration(CultureInfo.InvariantCulture) { MemberTypes = MemberTypes.Properties | MemberTypes.Fields, }; using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) using (var reader = new StreamReader(stream)) using (var csv = new CsvWriter(writer, config)) { var list = new List <APublic> { new APublic { IdField = 1, BField = new BPublic { NameField = "one", NameProp = "two" }, IdProp = 2 } }; csv.WriteRecords(list); writer.Flush(); stream.Position = 0; var result = reader.ReadToEnd(); var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("IdProp,IdField,NameProp,NameField"); expected.AppendLine("2,1,two,one"); Assert.AreEqual(expected.ToString(), result); } }
public void NoPropertyWithNoHeaderAndNameTest() { var config = new CsvConfiguration(CultureInfo.InvariantCulture) { HasHeaderRecord = false, }; using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var csv = new CsvWriter(writer, config)) { var list = new List <Test> { new Test { Id = 1 }, new Test { Id = 2 } }; csv.Context.RegisterClassMap <TestWithNameMap>(); csv.WriteRecords(list); writer.Flush(); stream.Position = 0; var result = reader.ReadToEnd(); var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("1,const,"); expected.AppendLine("2,const,"); Assert.AreEqual(expected.ToString(), result); } }
public void OutOfOrderTest() { var config = new CsvConfiguration(CultureInfo.InvariantCulture) { HasHeaderRecord = false, }; using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var csv = new CsvWriter(writer, config)) { var list = new List <Test> { new Test { Id = 1, Name = "one" }, new Test { Id = 2, Name = "two" } }; csv.Context.RegisterClassMap <TestMapOutOfOrderWithEmptyFieldsMap>(); csv.WriteRecords(list); writer.Flush(); stream.Position = 0; var result = reader.ReadToEnd(); var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("one,,,1"); expected.AppendLine("two,,,2"); Assert.AreEqual(expected.ToString(), result); } }
public async Task WritingTest() { using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)) { var records = new List <Simple> { new Simple { Id = 1, Name = "one" }, new Simple { Id = 2, Name = "two" }, }; csv.WriteHeader <Simple>(); await csv.NextRecordAsync(); foreach (var record in records) { csv.WriteRecord(record); await csv.NextRecordAsync(); } writer.Flush(); stream.Position = 0; var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("Id,Name"); expected.AppendLine("1,one"); expected.AppendLine("2,two"); Assert.AreEqual(expected.ToString(), reader.ReadToEnd()); } }
public void Test() { var config = new CsvConfiguration(CultureInfo.InvariantCulture) { TrimOptions = TrimOptions.Trim, }; using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var csv = new CsvWriter(writer, config)) { csv.WriteField(" a b c "); csv.WriteField(" d e f "); csv.NextRecord(); writer.Flush(); stream.Position = 0; var expected = new TestStringBuilder(csv.Configuration.NewLine); expected.AppendLine("a b c,d e f"); Assert.Equal(expected.ToString(), reader.ReadToEnd()); } }