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());
                }
        }
Exemple #2
0
        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);
                        }
        }
Exemple #6
0
        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());
                        }
        }
Exemple #7
0
        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());
                        }
        }