Ejemplo n.º 1
0
            public void TwoStringsConstructor_OptionalMultiValuedIsFalse()
            {
                var a             = new AzmiArgument("some-name", "some-description");
                var isMultiValued = a.multiValued;

                Assert.False(isMultiValued);
            }
Ejemplo n.º 2
0
            public void ThreeArgsConstructor_AcceptsMultiValued()
            {
                var a             = new AzmiArgument("some-name", 'u', "some-description", multiValued: true);
                var isMultiValued = a.multiValued;

                Assert.True(isMultiValued);
            }
Ejemplo n.º 3
0
            public void SimplestConstructor_DefinesSingleValued()
            {
                var a             = new AzmiArgument("some-name");
                var isMultiValued = a.multiValued;

                Assert.False(isMultiValued);
            }
Ejemplo n.º 4
0
 internal static Option ToOption(this AzmiArgument option)
 {
     return(new Option(option.OptionNames())
     {
         Argument = option.OptionArgument(),
         Description = option.OptionDescription(),
         Required = option.required
     });
 }
Ejemplo n.º 5
0
 internal static string OptionDescription(this AzmiArgument option)
 {
     return
         ((option.required
             ? "Required. "
             : "Optional. "
           )
          + option.description);
 }
Ejemplo n.º 6
0
 internal static String[] OptionNames(this AzmiArgument option)
 {
     if (option.alias != null)
     {
         return(new String[] { $"--{option.name}", $"-{option.alias}" });
     }
     else
     {
         return(new String[] { $"--{option.name}" });
     }
 }
Ejemplo n.º 7
0
        internal static Argument OptionArgument(this AzmiArgument option)
        {
            switch (option.type)
            {
            case ArgType.str: return(new Argument <string>("string"));

            case ArgType.flag: return(new Argument <bool>("bool"));

            case ArgType.url: return(new Argument <string>("url"));

            default: throw new ArgumentException($"Unsupported option type: {option.type}");
            }
        }
Ejemplo n.º 8
0
        internal static Option ToOption(this AzmiArgument option)
        {
            var opt = new Option(option.OptionNames())
            {
                Argument    = option.OptionArgument(),
                Description = option.OptionDescription(),
                Required    = option.required
            };

            if (option.multiValued)
            {
                opt.Argument.Arity = ArgumentArity.OneOrMore;
                // TODO: Should optional arguments have ZeroOrMore?
            }
            return(opt);
        }
Ejemplo n.º 9
0
            public void OptionArgument_String()
            {
                var a = new AzmiArgument("some-name", ArgType.str);

                Assert.Equal("string", a.OptionArgument().Name);
            }
Ejemplo n.º 10
0
            public void OptionNames_WithAlias()
            {
                var a = new AzmiArgument("some-name", alias: 's', "some-descrtiption");

                Assert.Equal(2, a.OptionNames().Length);
            }
Ejemplo n.º 11
0
            public void OptionNames_NoAlias()
            {
                var a = new AzmiArgument("some-name", alias: null, "some-descrtiption");

                Assert.Single(a.OptionNames());
            }
Ejemplo n.º 12
0
            public void ToOption_Required(bool required)
            {
                var a = new AzmiArgument("some-name", required: required);

                Assert.Equal(required, a.ToOption().Required);
            }
Ejemplo n.º 13
0
            public void ToOption_Description(bool required, string prefix)
            {
                var a = new AzmiArgument("some-name", "some-description", required: required);

                Assert.Equal($"{prefix} some-description", a.ToOption().Description);
            }
Ejemplo n.º 14
0
            public void TwoStringsConstructor_OptionalType()
            {
                var a = new AzmiArgument("some-name", "some-description", ArgType.flag);

                Assert.Equal(ArgType.flag, a.type);
            }
Ejemplo n.º 15
0
            public void ThreeArgsConstructor_DefinesOptionalArgument()
            {
                var a = new AzmiArgument("some-name", 'u', "some-description");

                Assert.False(a.required);
            }
Ejemplo n.º 16
0
            public void TwoStringsConstructor_OptionalRequired()
            {
                var a = new AzmiArgument("some-name", "some-description", required: true);

                Assert.True(a.required);
            }
Ejemplo n.º 17
0
            public void OptionDescription_Required()
            {
                var a = new AzmiArgument("some-name", "some-description", required: true);

                Assert.Equal("Required. some-description", a.OptionDescription());
            }
Ejemplo n.º 18
0
            public void ToOption_ProperType()
            {
                var a = new AzmiArgument("some-name");

                Assert.IsType <Option>(a.ToOption());
            }
Ejemplo n.º 19
0
            public void OptionArgument_Bool()
            {
                var a = new AzmiArgument("some-name", ArgType.flag);

                Assert.Equal("bool", a.OptionArgument().Name);
            }
Ejemplo n.º 20
0
            public void SimplestConstructor_DefinesOptionalArgument()
            {
                var a = new AzmiArgument("some-name");

                Assert.False(a.required);
            }
Ejemplo n.º 21
0
            public void SimplestConstructor_DefinesString()
            {
                var a = new AzmiArgument("some-name");

                Assert.Equal(ArgType.str, a.type);
            }
Ejemplo n.º 22
0
            public void SimplestConstructor_ProperName()
            {
                var a = new AzmiArgument("some-name");

                Assert.Equal("some-name", a.name);
            }
Ejemplo n.º 23
0
            public void SimplestConstructor_ProperAlias()
            {
                var a = new AzmiArgument("some-name");

                Assert.Equal('s', a.alias);
            }
Ejemplo n.º 24
0
            public void OptionArgument_Url()
            {
                var a = new AzmiArgument("some-name", ArgType.url);

                Assert.Equal("url", a.OptionArgument().Name);
            }
Ejemplo n.º 25
0
            public void TwoStringsConstructor_ProperAlias()
            {
                var a = new AzmiArgument("some-name", "some-description");

                Assert.Equal('s', a.alias);
            }
Ejemplo n.º 26
0
            public void OptionDescription_Optional()
            {
                var a = new AzmiArgument("some-name", "some-description", required: false);

                Assert.Equal("Optional. some-description", a.OptionDescription());
            }
Ejemplo n.º 27
0
            public void TwoStringsConstructor_ProperDescription()
            {
                var a = new AzmiArgument("some-name", "some-description");

                Assert.Equal("some-description", a.description);
            }
Ejemplo n.º 28
0
            public void ToOption_Argument(ArgType type, string name)
            {
                var a = new AzmiArgument("some-name", type);

                Assert.Equal(name, a.ToOption().Argument.Name);
            }
Ejemplo n.º 29
0
            public void TwoStringsConstructor_DefinesString()
            {
                var a = new AzmiArgument("some-name", "some-description");

                Assert.Equal(ArgType.str, a.type);
            }