Пример #1
0
    public void SerializeAnonymousObject_UnnamedFields()
    {
        const string expected = @"Item1,Item2
5,True";
        var          input    = (5, true);
        var          result   = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #2
0
    public void SerializeAnonymousObject_NamedFields()
    {
        // this would look nicer if .NET didn't erase names during the compile
        const string expected = @"Item1,Item2
5,True";
        var          input    = (Count : 5, Flag : true);
        var          result   = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #3
0
    public void Serialize_OnlyPublicModifiers()
    {
        const string expected = @"Description
""This is the description""";

        var input = new AccessModifierExample(5, true, "This is the description");

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #4
0
        public void CreateFileWithHeaderDateAndSemi()
        {
            var list = new List <FileWithHeaderDateAndSemi>
            {
                new FileWithHeaderDateAndSemi
                {
                    Age = 32, Name = "Joe", Title = "Mr", DateOfBirth = new DateTime(1980, 10, 31)
                }
            };
            var result = CsvConvert.Serialize(list);

            result.Should().Be($"name; age; dob{Environment.NewLine}Joe; 32; 31.10.1980{Environment.NewLine}");
        }
Пример #5
0
        public void CreateFileWithHeaderAndDate()
        {
            var list = new List <FileWithHeaderAndDate>
            {
                new FileWithHeaderAndDate
                {
                    Age = 32, Name = "Joe", Title = "Mr", DateOfBirth = new DateTime(1980, 10, 11)
                }
            };
            var result = CsvConvert.Serialize(list);

            result.Should().Be($"name, age, dob{Environment.NewLine}Joe, 32, 11.10.1980{Environment.NewLine}");
        }
Пример #6
0
    public void SerializeShouldHonorEnumDescriptions()
    {
        var input = new EnumExample
        {
            Status = ExampleStatuses.InProgress
        };

        const string expected = @"Status
""In Progress""";

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #7
0
    public void SerializeShouldHonorEnums()
    {
        var input = new EnumExample
        {
            Status = ExampleStatuses.Done
        };

        const string expected = @"Status
Done";

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #8
0
        public void CreateFileWithHeaderWithoutAttributes()
        {
            var list = new List <FileWithHeaderWithoutAttributes>
            {
                new FileWithHeaderWithoutAttributes {
                    Age = 32, Name = "John"
                },
                new FileWithHeaderWithoutAttributes {
                    Age = 22, Name = "Barbara"
                }
            };
            var result = CsvConvert.Serialize(list);

            result.Should().Be($"Name, Age{Environment.NewLine}John, 32{Environment.NewLine}Barbara, 22{Environment.NewLine}");
        }
Пример #9
0
        public void CreateFileWithHeader()
        {
            var list = new List <FileWithHeader>
            {
                new FileWithHeader {
                    Age = 32, Name = "Joe", Title = "Mr"
                },
                new FileWithHeader {
                    Age = 11, Name = "Anna", Title = "Miss"
                }
            };
            var result = CsvConvert.Serialize(list);

            result.Should().Be($"name, age{Environment.NewLine}Joe, 32{Environment.NewLine}Anna, 11{Environment.NewLine}");
        }
Пример #10
0
    public void Serialize_ShouldEscapeDoubleQuote()
    {
        const string expected = @"Count,Flag,Description
5,True,""This is a quote""""";

        var input = new SimpleExample
        {
            Count       = 5,
            Flag        = true,
            Description = "This is a quote\""
        };

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #11
0
    public void SerializeSingleObject()
    {
        const string expected = @"Count,Flag,Description
5,True,""This is the description""";

        var input = new SimpleExample
        {
            Count       = 5,
            Flag        = true,
            Description = "This is the description"
        };

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #12
0
    public void Serialize_ShouldEscapePropertyNames()
    {
        const string expected = @"""The Count"",""A Flag"",""A Description""
5,True,""This is the description""";

        var input = new EscapedPropertyAttributeExample
        {
            Count       = 5,
            Flag        = true,
            Description = "This is the description"
        };

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #13
0
    public void Serialize_ShouldHonorIgnoreAttribute()
    {
        const string expected = @"Flag,Description
True,""This is the description""";

        var input = new IgnoreAttributeExample
        {
            Count       = 5,
            Flag        = true,
            Description = "This is the description"
        };

        var result = CsvConvert.Serialize(input);

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #14
0
    public void Serialize_ShouldNotEmitHeader()
    {
        const string expected = @"5,True,""This is the description""";

        var input = new SimpleExample
        {
            Count       = 5,
            Flag        = true,
            Description = "This is the description"
        };

        var result = CsvConvert.Serialize(input, new CsvConvertSettings {
            EmitHeader = false
        });

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #15
0
    public void Serialize_EscapeStringsWithSeparator()
    {
        const string expected = @"Count!Flag!Description
5!True!""Hi!""";

        var input = new SimpleExample
        {
            Count       = 5,
            Flag        = true,
            Description = "Hi!"
        };

        var result = CsvConvert.Serialize(input, new CsvConvertSettings
        {
            Separator = '!'
        });

        Assert.That(result, Is.EqualTo(expected));
    }
Пример #16
0
        public void SerializeIgnore()
        {
            var csv = CsvConvert.Serialize(genius, CultureInfo.InvariantCulture);

            Assert.AreEqual(Properties.Resources.sample, csv);
        }
Пример #17
0
    public void SerializeNull()
    {
        var result = CsvConvert.Serialize((SimpleExample)null);

        Assert.That(result, Is.EqualTo(""));
    }