public void ShouldParseMultipleUndefinedOptionIfAllowed()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     var settings = new CmdLineSettings { UndefinedOptionsPolicy = UndefinedOptionsPolicy.AllowMultipleInstances };
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse("-name:value1.1;value1.2", "-name:value2.1;value2.2");
     input.UndefinedOptions.GetAll("name").ShouldBe(new[] { new[] { "value1.1", "value1.2" }, new[] { "value2.1", "value2.2" } });
 }
 public void ShouldParseMissingOptionalArg()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Arg("name").IsOptional();
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     parser.Parse(new string[0]);
 }
 public void ShouldParseFlagOption()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Option("name");
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse(new[] { "-name" });
     input.Options.Contains("name").ShouldBe(true);
 }
 public void ShouldParseOptionsWithSeparatedFormat()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Option("name").Value("value");
     var settings = new CmdLineSettings { OptionValueFormat = OptionValueFormat.Separated };
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse("-name", "foo");
     input.Options.GetSingle("name").GetSingle("value").ShouldBe("foo");
 }
 public void ShouldParseArg()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Arg("name");
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse(new[] { "value" });
     input.Args.GetSingle("name").ShouldBe("value");
 }
 public void ShouldParseOptionWithParamsValue()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Option("name")
            .Value("value", x => x.IsParams());
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse("-name:foo;bar");
     input.Options.GetSingle("name").GetAll("value").ShouldBe(new[] { "foo", "bar" });
 }
        public void ShouldHaveProperDefaultSettings()
        {
            var settings = new CmdLineSettings();

            settings.OptionValueFormat.ShouldBe(OptionValueFormat.Connected);
            settings.OptionNameValueSeparator.ShouldBe(':');
            settings.OptionPrefixes.ShouldBe(new[] { "-", "/" });
            settings.OptionValueSeparator.ShouldBe(';');
            settings.UndefinedOptionsPolicy.ShouldBe(UndefinedOptionsPolicy.NotAllowed);
        }
 public void ShouldParseMultipleInstancesOfAllowMultipleOption()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Option("name")
            .AllowMultiple()
            .Value("value");
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse("-name:foo", "-name:bar");
     var options = input.Options.GetAll("name");
     options.Length.ShouldBe(2);
     options[0].GetSingle("value").ShouldBe("foo");
     options[1].GetSingle("value").ShouldBe("bar");
 }
Пример #9
0
 protected override int ExecuteCommand(string program, string[] route, string[] args, CmdLineSettings settings)
 {
     throw new System.NotImplementedException();
 }
Пример #10
0
 protected override void ShowHelp(string program, string[] route, CmdLineSettings settings)
 {
 }
Пример #11
0
 public void ShouldParseUndefinedOptionIfAllowed()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     var settings = new CmdLineSettings { UndefinedOptionsPolicy = UndefinedOptionsPolicy.AllowSingleInstance };
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse("-name:value1;value2");
     input.UndefinedOptions.GetSingle("name").ShouldBe(new[] { "value1", "value2" });
 }
Пример #12
0
 public void ShouldThrowIfMultipleUndefinedOptionsAreProvidedButNotAllowed()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     var settings = new CmdLineSettings { UndefinedOptionsPolicy = UndefinedOptionsPolicy.AllowSingleInstance };
     var parser = new CmdLineParser(builder.Definition, settings);
     Should.Throw<ParserException>(() => parser.Parse("-name", "-name")).Message.ShouldBe("Option 'name' is provided more than once.");
     var input = parser.Parse("-name:value1;value2");
     input.UndefinedOptions.GetSingle("name").ShouldBe(new[] { "value1", "value2" });
 }
Пример #13
0
 public void ShouldParseParamsArg()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Arg("name").IsParams();
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     var input = parser.Parse(new[] { "value1", "value2" });
     input.Args.GetAll("name").ShouldBe(new[] { "value1", "value2" });
 }
Пример #14
0
 public void ShouldThrowIfRequiredArgIsntProvided()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Arg("name");
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     Should.Throw<Exception>(() => parser.Parse(new string[0]));
 }
Пример #15
0
 public void ShouldThrowIfRequiredOptionValueIsntProvided()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Option("name").IsRequired().Value("value");
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     Should.Throw<ParserException>(() => parser.Parse("-name"));
 }
Пример #16
0
 public void ShouldThrowIfUndefinedOptionIsProvidedButNotAllowed()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     Should.Throw<ParserException>(() => parser.Parse("-foobar")).Message.ShouldBe("Unknown option 'foobar'.");
 }
Пример #17
0
 public void ShouldThrowIfFlagOptionHasValue()
 {
     var builder = new CmdLineInputDefinitionBuilder();
     builder.Option("name");
     var settings = new CmdLineSettings();
     var parser = new CmdLineParser(builder.Definition, settings);
     Should.Throw<ParserException>(() => parser.Parse(new[] { "-name:value" }));
 }