public void Parse_WithDictionaryBackend_ParsesToDictionary() { var key = 1; var opt = new Dictionary <int, string>(); var builder = new CliParserBuilder <Dictionary <int, string> >(opt); builder.HasNamedArgument(c => c[key]) .WithShortName('n'); builder.Parser.Parse("-n frank".Split()); Assert.AreEqual("frank", opt[key]); }
public static void FluentConditional(string destinationFromConfig, string[] args) { var opt = new ConditionalOptions(); var builder = new CliParserBuilder <ConditionalOptions>(opt); switch (destinationFromConfig) { case "file": builder.HasNamedArgument(c => c.Filename) .WithShortName('f'); break; //case "http": default: builder.HasNamedArgument(c => c.Url) .WithShortName('u'); break; } builder.Parser.Parse(args); Console.WriteLine("Filename: {0}", opt.Filename); Console.WriteLine("Url: {0}", opt.Url); }
public static void DictBackedConfiguration(string[] args) { var opt = new Dictionary <string, string>(); var builder = new CliParserBuilder <Dictionary <string, string> >(opt); builder.HasNamedArgument(c => c["name"]) .WithShortName('n'); builder.Parser.Parse(args); Console.WriteLine("Parsed Keys:"); foreach (var kv in opt) { Console.WriteLine("\t{0}: {1}", kv.Key, kv.Value); } }
public static void DictBackendMethodConfig(string[] args) { const int key = 1; var opt = new Dictionary <int, object>(); var builder = new CliParserBuilder <Dictionary <int, object> >(opt); builder.HasNamedArgument(c => c[key]) .WithShortName('n'); builder.Parser.Parse(args); Console.WriteLine("Parsed Keys:"); foreach (var kv in opt) { Console.WriteLine("\t{0}: {1}", kv.Key, kv.Value); } }
public void Parse_WithDictionaryBackend_ParsesToDictionary() { var key = 1; var opt = new Dictionary<int, string>(); var builder = new CliParserBuilder<Dictionary<int, string>>(opt); builder.HasNamedArgument(c => c[key]) .WithShortName('n'); builder.Parser.Parse("-n frank".Split()); Assert.AreEqual("frank", opt[key]); }