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