public void UnregisteredFlagBeforeNameValueIsParsedCorrectly()
        {
            var consoleParametersParser = new ConsoleParametersParser();

            var result = consoleParametersParser.Parse(new[]{"/int:40", "/tag:asdgf", "/flag", "/tag2:bsdfg"});

            Assert.That(result.Select(r => r.Name).ToArray(), Is.EquivalentTo(new[]{"int", "tag", "flag", "tag2"}));
        }
Example #2
0
        /// <summary>
        /// Parses the command line returning a typed 
        /// options object
        /// </summary>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public static AgentParameters Parse(IEnumerable<string> arguments)
        {
            var result = new AgentParameters();
            var set = new ConsoleParametersParser
                {
                    {"port", (int port) => result.Port = port},
                };

            set.Parse(arguments);
            return result;
        }
        public void UnnamedParametersAreParsedCorrectly()
        {
            string unnamed = null;
            var consoleParametersParser = new ConsoleParametersParser()
                                              {
                                                  {ConsoleOption.UnnamedOptionName, (string value) => unnamed = value},
                                              };

            var result = consoleParametersParser.Parse(new[]{"/int:40", "/tag:asdgf", "not named", "/tag2:bsdfg"});

            Assert.That(result, Has.Count.EqualTo(3));
            Assert.That(unnamed, Is.EqualTo("not named"));
        }
        public void NamedParametersAreParsedCorrectly()
        {
            string tagValue = null;
            int intValue = 0;
            var consoleParametersParser = new ConsoleParametersParser()
                                              {
                                                  {"tag", (string tag) => tagValue = tag},
                                                  {"int", (int value) => intValue = value}
                                              };

            var result = consoleParametersParser.Parse(new[]{"/int:40", "/tag:asdgf", "/tag2:bsdfg"});

            Assert.That(tagValue, Is.EqualTo("asdgf"));
            Assert.That(intValue, Is.EqualTo(40));
            Assert.That(result, Has.Count.EqualTo(1));
            Assert.That(result[0].Name, Is.EqualTo("tag2"));
            Assert.That(result[0].Value, Is.EqualTo("bsdfg"));
        }
        /// <summary>
        /// Parses the command line returning a typed 
        /// options object
        /// </summary>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public static ClientParameters Parse(IEnumerable<string> arguments)
        {
            var result = new ClientParameters();
            var set = new ConsoleParametersParser
                {
                    {"xml", (string xmlFileName) => result.NUnitParameters.XmlFileName = xmlFileName, false },
                    {"noshadow", (bool noShadow) => result.NUnitParameters.NoShadow = noShadow, true },
                    {"configuration", (string configuration) => result.NUnitParameters.Configuration = configuration, false },
                    {"server", (string testServerUri) => result.ServerUri = Uri.IsWellFormedUriString(testServerUri, UriKind.Absolute)
                        ? new Uri(testServerUri)
                        : null, false},
                    {"include", (string includes) => result.NUnitParameters.IncludeCategories = includes },
                    {"exclude", (string excludes) => result.NUnitParameters.ExcludeCategories = excludes },
                    {"alias", (string alias) => result.Alias = alias },
                    {"run", (string run) => result.NUnitParameters.TestToRun = run},
                    {ConsoleOption.UnnamedOptionName, (string assembly) => result.NUnitParameters.AssembliesToTest.Add(assembly), false},
                };

            result.UnknownOptions.AddRange(set.Parse(arguments));
            return result;
        }