예제 #1
0
        public static bool InitAndSetup(string[] args)
        {
            SetToDefaults();

            if (OptionsParser.HelpRequested(args))
            {
                OptionsParser.DisplayHelp(typeof(Program).Assembly, false);
                return(false);
            }

            var unknownArgs = OptionsParser.Prepare(args, typeof(Program).Assembly, false).ToList();

            if (unknownArgs.Count > 0)
            {
                Console.WriteLine("Unknown arguments : ");
                foreach (var remain in unknownArgs)
                {
                    Console.WriteLine("\t {0}", remain);
                }

                return(false);
            }

            if (!ValidateArguments())
            {
                return(false);
            }

            return(true);
        }
예제 #2
0
        public void TestDisplayHelpWithCollectionArgumentTypes()
        {
            using (var tempFile = TempFile.CreateRandom())
            {
                using (var writer = new StreamWriter(tempFile.Path.ToString()))
                {
                    OptionsParser.DisplayHelp(writer, typeof(HelpOptionsWithCollections));
                }

                using (var reader = new StreamReader(tempFile.Path.ToString()))
                {
                    Assert.AreEqual("", reader.ReadLine());
                    Assert.AreEqual("Options:", reader.ReadLine());

                    Assert.AreEqual(string.Format("{0}{1}", "  --string-array=<value,value,..>".PadRight(OptionsParser.HelpOutputColumnPadding), HelpOptionsWithCollections.HelpText), reader.ReadLine());
                    Assert.AreEqual(string.Format("{0}{1}", "  --string-list=<custom,custom,..>".PadRight(OptionsParser.HelpOutputColumnPadding), HelpOptionsWithCollections.HelpText), reader.ReadLine());
                }
            }
        }
예제 #3
0
        public void TestDisplayHelpWithSimpleArgumentTypes()
        {
            using (var tempFile = TempFile.CreateRandom())
            {
                using (var writer = new StreamWriter(tempFile.Path.ToString()))
                {
                    OptionsParser.DisplayHelp(writer, typeof(HelpOptions));
                }

                using (var reader = new StreamReader(tempFile.Path.ToString()))
                {
                    Assert.AreEqual("", reader.ReadLine());
                    Assert.AreEqual("Options:", reader.ReadLine());

                    Assert.AreEqual(string.Format("{0}{1}", "  --option-one=<value>".PadRight(OptionsParser.HelpOutputColumnPadding), HelpOptions.OptionOneHelpText), reader.ReadLine());
                    Assert.AreEqual(string.Format("{0}{1}", "  --option-two".PadRight(OptionsParser.HelpOutputColumnPadding), HelpOptions.OptionTwoHelpText), reader.ReadLine());
                    Assert.AreEqual(string.Format("{0}{1}", "  --custom-value-description=<path>".PadRight(OptionsParser.HelpOutputColumnPadding), HelpOptions.CustomValueDescriptionHelpText), reader.ReadLine());
                }
            }
        }