public void Escape_LineBreak_Quote() { CsvRow.ICsvRowBuilderAdder builder = CsvRow.BeginRows("Name", "Age") .Configure(x => x .ReturnHeaderAsRow()); builder.AddUsingMapper(x => x .Map("Name", $"John{Environment.NewLine}Doe") .Map("Age", "30")); string csv = builder.ToString(); Assert.That(csv, Is.EqualTo($@"Name;Age{Environment.NewLine}""John{Environment.NewLine}Doe"";30")); }
public void Escape_Header_Content_Quote_Delimiter() { CsvRow.ICsvRowBuilderAdder builder = CsvRow.BeginRows("\"Name\"", "Age") .Configure(x => x .ReturnHeaderAsRow() .ChangeDelimiter(",")); builder.AddUsingMapper(x => x .Map("\"Name\"", "John,Doe") .Map("Age", "30\"")); string csv = builder.ToString(); Assert.That(csv, Is.EqualTo($@"""""""Name"""""",Age{Environment.NewLine}""John,Doe"",""30""""""")); }
public void Create_Complex_Build() { CsvRow.ICsvRowBuilderAdder builder = CsvRow.BeginRows("Name", "Age") .Configure(x => x .ReturnHeaderAsRow() .ChangeDelimiter(",")); builder.AddUsingMapper(x => x .Map("Name", "John Doe") .Map("Age", "30")); builder.FromUsingMapper(new[] { "Jane Doe" }, (m, x) => m.Map("Name", x)); Assert.That(builder.DataRowCount, Is.EqualTo(2)); string csv = builder.ToString(); Assert.That(csv, Is.EqualTo(string.Join(Environment.NewLine, "Name,Age", "John Doe,30", "Jane Doe,"))); }