public static void Single() { var provider = new CommandLineOptionsProvider(new[] { new Option("a") }); provider.Load(); provider .GetChildKeys(Enumerable.Empty <string>(), null) .Should() .BeEquivalentTo("a"); }
public static void Operands() { var provider = new CommandLineOptionsProvider(new[] { new Operand("a") }); provider.Load(); provider .TryGet("", out var value) .Should() .BeTrue(); value .Should() .Be("a"); }
public static void Values() { var provider = new CommandLineOptionsProvider(new[] { new OptionArgument("a", "1"), new OptionArgument("a", "2") }); provider.Load(); provider .TryGet("a:1", out var value) .Should() .BeTrue(); value .Should() .Be("2"); }
public static void Multiple() { var provider = new CommandLineOptionsProvider(new[] { new OptionArgument("a", "1"), new OptionArgument("a", "2") }); provider.Load(); provider .GetChildKeys(Enumerable.Empty <string>(), null) .Should() .BeEquivalentTo("a", "a"); provider .GetChildKeys(Enumerable.Empty <string>(), "a") .Should() .BeEquivalentTo("0", "1"); }
public void TestParsing(string expected, string template, string fullName, CommandOptionType type, params string[] values) { // Arrange var option = new CommandOption(template, type); option.Values.AddRange(values.ToList()); var optionList = new List <CommandOption> { option }; // Act var provider = new CommandLineOptionsProvider(optionList); var builder = new ConfigurationBuilder(); var config = provider.Build(builder); config.TryGet(fullName, out var actual); // Assert Assert.Equal(expected, actual); }