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); }
public Builder Parser(ICommandArgumentToken <T> .ValueParser parser) { _parser = parser; return(this); }