public void TestYamlWithDictionary() { var testYaml = "MyField: value\n" + "Dict:\n" + " Key1:\n" + " - FieldA: Value1A\n" + " - FieldB: 1\n" + " Key2:\n" + " - FieldA: Value2A\n" + " - FieldB: 2\n"; var result = MyYamlDeserializer.Deserialize <TestWithDictionary>(testYaml); Assert.AreEqual("value", result.MyField); Assert.AreEqual(2, result.Dict.Count); Assert.AreEqual("Value1A", result.Dict["Key1"].FieldA); Assert.AreEqual(1, result.Dict["Key1"].FieldB); Assert.AreEqual("Value2A", result.Dict["Key2"].FieldA); Assert.AreEqual(2, result.Dict["Key2"].FieldB); }
public void TestModelParse() { var yamlText = "Version:2" + (char)13 + (char)10 + "Field:\n" + " \n" + " MyDataValue:value\n" + " MyDataValue2:2\n\n" + "field2:asd\n" + "MyBool: True\n" + "TimeSpanField: 00:00:20\n" + "EnumField: Two\n" + "MyArray:\n" + " - value1\n" + " - value2"; var yamlBytes = Encoding.UTF8.GetBytes(yamlText); var model = MyYamlDeserializer.Deserialize <TestModel>(yamlBytes); Assert.AreEqual(2, model.Version); Assert.AreEqual("value", model.Field.MyDataValue); Assert.AreEqual(2, model.Field.MyDataValue2); Assert.AreEqual(TimeSpan.Parse("00:00:20"), model.TimeSpanField); Assert.AreEqual(2, model.MyArray.Length); Assert.AreEqual("value1", model.MyArray[0]); Assert.AreEqual("value2", model.MyArray[1]); Assert.AreEqual(MyEnum.Two, model.EnumField); Assert.IsTrue(model.MyBool); }
public void TestSimpleDictionaries() { var testYaml = "MyField: value\n" + "Dict:\n" + " - key1: value1\n" + " - key2: value2\n"; var result = MyYamlDeserializer.Deserialize <TestSimpleDictionary>(testYaml); Assert.AreEqual("value", result.MyField); Assert.AreEqual(2, result.Dict.Count); Assert.AreEqual("value1", result.Dict["key1"]); Assert.AreEqual("value2", result.Dict["key2"]); }
public void TestModelParse() { var yamlText = "Version:2" + (char)13 + (char)10 + "Field:\n" + " \n" + " MyDataValue:value\n" + " MyDataValue2:2\n\n" + "field2:asd\n" + "MyBool: True\n" + "EnumField: Two\n" + "MyArray:\n" + " - value1\n" + " - value2"; var yamlBytes = Encoding.UTF8.GetBytes(yamlText); var model = MyYamlDeserializer.Deserialize <TestModelWithDefaultValue>(yamlBytes); Assert.AreEqual(2, model.Version); Assert.AreEqual(45, model.DefaultValue); }
public static T GetSettings <T>(string homeFileName) where T : class, new() { var yaml = ReadingFromEnvVariable() ?? ReadFromFileInHome(homeFileName); if (yaml == null) { Console.WriteLine(); throw new Exception("No settings found"); } var notUsed = new List <string>(); var result = MyYamlDeserializer.Deserialize <T>(yaml, notUsed); if (notUsed.Count > 0) { Console.WriteLine(); Console.WriteLine(); throw new Exception("The line is not initialized: " + notUsed[0]); } return(result); }