public void Description_unchanged()
        {
            var cla = new CommandLineApplication();

            var optionConfig = new EnumOptionConfig <TestEnum>(
                valueMap, template, string.Empty, false,
                false, inherited, allowMultiple,
                throwOnInvalidOption, Configuration
                );

            var opt = cla.EnumOption(optionConfig);

            Assert.AreEqual(string.Empty, opt.Description);
        }
        public void Not_Allow_Multiple_Option_type()
        {
            var cla = new CommandLineApplication();

            var optionConfig = new EnumOptionConfig <TestEnum>(
                valueMap, template, desc, describeValue,
                describeArity, inherited, false,
                throwOnInvalidOption, Configuration
                );

            var opt = cla.EnumOption(optionConfig);

            Assert.AreEqual(CommandOptionType.SingleValue, opt.OptionType);
        }
        public void Description_multiple_arity()
        {
            var cla = new CommandLineApplication();

            var optionConfig = new EnumOptionConfig <TestEnum>(
                valueMap, template, string.Empty, describeValue,
                true, inherited, true,
                throwOnInvalidOption, Configuration
                );

            var opt = cla.EnumOption(optionConfig);

            Assert.IsTrue(opt.Description.Contains("multiple"));
        }
        public void Uses_template()
        {
            var cla = new CommandLineApplication();

            var optionConfig = new EnumOptionConfig <TestEnum>(
                valueMap, template, desc, describeValue,
                describeArity, inherited, allowMultiple,
                throwOnInvalidOption, Configuration
                );

            var opt = cla.EnumOption(optionConfig);

            Assert.AreEqual(template, opt.Template);
            Assert.AreEqual("t", opt.ShortName);
            Assert.AreEqual("test", opt.LongName);
        }
        public void Description_values()
        {
            var cla = new CommandLineApplication();

            var values = new Dictionary <string, TestEnum>
            {
                { "abc", TestEnum.abc },
                { "def", TestEnum.def },
                { "ghi", TestEnum.def },
            };

            var optionConfig = new EnumOptionConfig <TestEnum>(
                values, template, string.Empty, true,
                describeArity, inherited, true,
                throwOnInvalidOption, Configuration
                );

            var opt = cla.EnumOption(optionConfig);

            Assert.IsTrue(opt.Description.Contains("abc"));
            Assert.IsTrue(opt.Description.Contains("def"));
            Assert.IsTrue(opt.Description.Contains("ghi"));
        }