public void TestError() { var cfg = YamlSimpleConfig.FromString(YamlString); Assert.Throws <ConfigOptionNotExistsException>( () => cfg.GetOption <int>("root.not_existing")); Assert.Throws <ConfigInvalidPathException>( () => cfg.GetOption <int>("root.num.a")); Assert.Throws <InvalidCastException>( () => cfg.GetOption <int>("root.txt")); Assert.Throws <InvalidOperationException>( () => cfg.GetOptionAsPath("root.path_abs")); }
public void TestLoadString() { var cfg = (ISimpleConfig)YamlSimpleConfig.FromString(YamlString); var num = cfg.GetOption <int>("root.num"); var numS = cfg.GetOption <string>("root.num"); var txt = cfg.GetOption <string>("root.txt"); var arr = cfg.GetOption <int[]>("root.arr"); var obj = cfg.GetOption <Dictionary <string, int> >("root.obj"); var emptyString = cfg.GetOption <string>("root.empty"); var notExistingNull = cfg.GetOption <string>("root.not_existing", null); var notExistingDefault = cfg.GetOption <string>("root.not_existing", "def"); Assert.Equal(2, num); Assert.Equal("2", numS); Assert.Equal("A", txt); Assert.Equal(new[] { 1, 2 }, arr); Assert.Equal(1, obj["a"]); Assert.Equal(2, obj["b"]); Assert.Equal("", emptyString); Assert.Null(notExistingNull); Assert.Equal("def", notExistingDefault); }