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,")));
        }