public CommandArgProto(string name, char mnemonic = '\0', UsageElement usage = null, string value = null, ArgValidator validator = null, CommandArgOptions options = CommandArgOptions.None)
     : base(name, mnemonic, value)
 {
     Usage      = Usage.CreateUsage(name, mnemonic, usage);
     _validator = validator ?? new ArgValidator();
     Options    = options & ~CommandArgOptions.IsPositional;
 }
 public CommandArgProto(string name, int index, UsageElement usage = null, string value = null, ArgValidator validator = null, CommandArgOptions options = CommandArgOptions.None)
     : base(index, name)
 {
     Usage      = Usage.CreateUsage(name, usage);
     _validator = validator ?? new ArgValidator();
     Options    = options | CommandArgOptions.IsPositional;
 }
Example #3
0
 public CommandArgProto(string name, Usage usage, string value = null, ArgValidator validator = null, CommandArgOptions options = CommandArgOptions.None)
     : base(name, value)
 {
     Usage ??= usage;
     _validator = validator ?? new ArgValidator();
     Options    = options;
 }
        public void CtorTest()
        {
            string            n0 = "a";
            Usage             u0 = new Usage("usage");
            string            v0 = "b";
            CommandArgOptions o0 = CommandArgOptions.HasArgument
                                   | CommandArgOptions.HasMultiple
                                   | CommandArgOptions.IsRequired
                                   | CommandArgOptions.IsPositional;
            var d = new CommandArgProto(n0, u0, v0, null, o0);

            Assert.Equal(n0, d.Name);
            Assert.Equal(u0, d.Usage);
            Assert.Equal(v0, d.Value);
            Assert.Equal(o0, d.Options);
            Assert.True(d.IsRequired);
            Assert.True(d.HasMultiple);
            Assert.True(d.HasArgument);
            Assert.False(d.IsSwitch);
            Assert.True(d.IsPositional);
        }