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"})); }
/// <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; }