コード例 #1
0
        private static ICommand GetCommand(params string[] args)
        {
            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args.ToList());
            return(parser.GetContext().Command);
        }
コード例 #2
0
        public void Parse_NoOptions_ShouldReturnEmptyOptions()
        {
            var args = new List <string> {
                "test"
            };

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var options = parser.GetContext().Options;

            Assert.IsEmpty(options);
        }
コード例 #3
0
        public void Parse_UppercaseHelp_ShouldReturnHelpOptions()
        {
            var args = new List <string> {
                "--HELP"
            };

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var option = parser.GetContext().Options.FirstOrDefault()?.GetType();

            Assert.AreEqual(typeof(HelpOption), option);
        }
コード例 #4
0
        public void Parse_Help_ShouldReturnEmptyArguments()
        {
            var args = new List <string> {
                "--help"
            };

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var arguments = parser.GetContext().Arguments;

            Assert.IsEmpty(arguments);
        }
コード例 #5
0
        public void Parse_Help_ShouldReturnNullCommandName()
        {
            var args = new List <string> {
                "--help"
            };

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var commandName = parser.GetContext().Command.Name;

            Assert.Null(commandName);
        }
コード例 #6
0
        public void Parse_InvalidOptionsArgument_ShouldThrowArgumentException()
        {
            var args = new List <string> {
                "--invalid"
            };

            var parser = ArgumentParserFactory.CreateArgumentParser();

            Assert.Throws <ArgumentException>(() =>
            {
                parser.Parse(args);
            });
        }
コード例 #7
0
        public void Parse_FooOptions_ShouldReturnNoCommand()
        {
            var args = new List <string> {
                "--foo"
            };

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var command = parser.GetContext().Command;

            Assert.IsInstanceOf(typeof(NoCommand), command);
        }
コード例 #8
0
        public void Parse_TestNew_ShouldReturnTestFamilyName()
        {
            var args = new List <string> {
                "test", "new"
            };
            const string expectedFamily = "test";

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var familyName = parser.GetContext().Command.Family;

            Assert.AreEqual(expectedFamily, familyName);
        }
コード例 #9
0
        public void Parse_TestNew_ShouldReturnNewTestCommandName()
        {
            var args = new List <string> {
                "test", "new"
            };
            const string expectedCommand = "test new";

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var commandName = parser.GetContext().Command.Name;

            Assert.AreEqual(expectedCommand, commandName);
        }
コード例 #10
0
        public void Parse_TestNewWithFooOptionInTheMiddle_ShouldReturnTestOption()
        {
            var args = new List <string> {
                "test", "--foo", "new"
            };
            const string expectedOption = "foo";

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var optionName = parser.GetContext().Options.First().Name;

            Assert.AreEqual(expectedOption, optionName);
        }
コード例 #11
0
        public void Parse_Uppercase_ShouldReturnLowerCaseCommandName()
        {
            var args = new List <string> {
                "TEST"
            };
            const string expectedCommand = "test";

            var parser = ArgumentParserFactory.CreateArgumentParser();

            parser.Parse(args);
            var commandName = parser.GetContext().Command.Name;

            Assert.AreEqual(expectedCommand, commandName);
        }
コード例 #12
0
        public void ShouldReturnIntArgumentParserWhenDataTypeIsInteger()
        {
            var parser = _parserFactory.CreateArgumentParser(DataType.Integer);

            Assert.IsInstanceOfType(parser, typeof(IntArgumentParser));
        }