Ejemplo n.º 1
0
        public void TestOptionWithQuotedStringNotFullMatch(string input)
        {
            ICommandArgumentToken <string> .ValueParser trivialStringParser = (string i, out string v) => { v = i; return(true); };

            ArgumentToken arg1 = new ArgumentToken <string> .Builder().Name("arg1").Parser(trivialStringParser).Build();

            ArgumentToken arg2 = new ArgumentToken <string> .Builder().Name("arg2").Parser(trivialStringParser).Build();

            ArgumentToken arg3 = new ArgumentToken <string> .Builder().Name("arg3").Parser(trivialStringParser).Build();

            var token = new OptionWithArgumentToken.Builder()
                        .Name("option", "alt1", "alt2")
                        .WithArgument(arg1)
                        .WithArgument(arg2)
                        .WithArgument(arg3)
                        .Build();

            ICommandUsage usage = new CommandUsage.Builder().WithToken(token).Build();

            TokenMatchCollection matchCollection = CommandParser.Match(usage.Tokens, input);

            Assert.True(matchCollection.Matches.Count() == 1);
            ParserTokenMatch match = matchCollection.Matches.First();

            Assert.False(match.IsFullMatch, input);
        }
Ejemplo n.º 2
0
 public Builder Parser(ICommandArgumentToken <T> .ValueParser parser)
 {
     _parser = parser;
     return(this);
 }