private static void CheckSchema( OptionSchema schema, Action preAction, Action postAction, params string[] args) { preAction(); var setting = schema.Parse(args); var arguments = setting.Arguments.ToArray(); var options = setting.Options.ToArray(); Assert.AreEqual(1, arguments.Length); Assert.AreEqual("foo", arguments[0]); Assert.AreEqual(1, options.Length); var o = options[0]; if (o is RequiredArgumentOption v) { CheckArg(v); CheckValue(v); } else { Assert.Fail(); } Assert.AreSame(schema, o.Schema); Assert.AreSame(schema, setting.Schema); postAction(); }
private static void CheckSchema( OptionSchema schema, Action preAction, Action postAction, params string[] args) { preAction(); var setting = schema.Parse(args); var arguments = setting.Arguments.ToArray(); var options = setting.Options.ToArray(); Assert.AreEqual(1, arguments.Length); Assert.AreEqual("foo", arguments[0]); Assert.AreEqual(1, options.Length); var o = options[0]; Assert.AreEqual("help", o.Name); Assert.IsTrue(o.ShortName.HasValue); Assert.AreEqual('h', o.ShortName.GetValueOrDefault()); Assert.AreEqual("Show help message", o.Description); Assert.AreSame(schema, o.Schema); Assert.AreSame(schema, setting.Schema); postAction(); }