Exemple #1
0
        public void YamlEnumMember()
        {
            // Verify that we recognize [EnumMember] attributes.

            var before =
                new YamlPerson()
            {
                Name   = "Jeff",
                Age    = 56,
                Gender = YamlGender.Male
            };

            var yaml = NeonHelper.YamlSerialize(before);

            Assert.Contains("name: Jeff", yaml);
            Assert.Contains("age: 56", yaml);
            Assert.Contains("gender: gender-male", yaml);

            // Verify that we can deserialize.

            var after = NeonHelper.YamlDeserialize <YamlPerson>(yaml);

            Assert.Equal("Jeff", after.Name);
            Assert.Equal(56, after.Age);
            Assert.Equal(YamlGender.Male, after.Gender);
        }
Exemple #2
0
        public void JsonToYaml_Basic()
        {
            // Verify that we can convert JSON to YAML.

            var input = new YamlPerson()
            {
                Name = "Jeff",
                Age  = 56
            };

            var jsonText = NeonHelper.JsonSerialize(input);
            var yamlText = NeonHelper.JsonToYaml(jsonText);
            var output   = NeonHelper.YamlDeserialize <YamlPerson>(yamlText);

            Assert.Equal(input.Name, output.Name);
            Assert.Equal(input.Age, output.Age);
            NeonHelper.YamlDeserialize <dynamic>(yamlText);

            // Ensure that JSON property strings that are integer values
            // retain their "stringness".

            input = new YamlPerson()
            {
                Name = "1001",
                Age  = 56
            };

            jsonText = NeonHelper.JsonSerialize(input);
            yamlText = NeonHelper.JsonToYaml(jsonText);

            Assert.Contains("'1001'", yamlText);
            NeonHelper.YamlDeserialize <dynamic>(yamlText);
        }
Exemple #3
0
        public void YamlSerialize()
        {
            var before =
                new YamlPerson()
            {
                Name   = "Jeff",
                Age    = 56,
                Gender = YamlGender.Unknown
            };

            // Verify that the property names were converted to lowercase.

            var yaml = NeonHelper.YamlSerialize(before);

            Assert.Contains("name: Jeff", yaml);
            Assert.Contains("age: 56", yaml);
            Assert.Contains("gender: Unknown", yaml);

            // Verify that we can deserialize.

            var after = NeonHelper.YamlDeserialize <YamlPerson>(yaml);

            Assert.Equal("Jeff", after.Name);
            Assert.Equal(56, after.Age);
            Assert.Equal(YamlGender.Unknown, after.Gender);
        }
Exemple #4
0
        public void YamlNotJson()
        {
            // Verify that we can identify and parse YAML (over JSON).

            var before =
                new YamlPerson()
            {
                Name = "Jeff",
                Age  = 56
            };

            // Verify that the property names were converted to lowercase.

            var yaml = NeonHelper.YamlSerialize(before);

            Assert.Contains("name: Jeff", yaml);
            Assert.Contains("age: 56", yaml);

            // Verify that we can deserialize.

            var after = NeonHelper.JsonOrYamlDeserialize <YamlPerson>(yaml);

            Assert.Equal("Jeff", after.Name);
            Assert.Equal(56, after.Age);
        }