private void AssertArgumentsParsed(ParsedCommandLineParameters parms) { Assert.That(parms.Parameters[0].Name, Is.EqualTo("one")); Assert.That(parms.Parameters[0].Value, Is.EqualTo(@"c:\two")); Assert.That(parms.Parameters[1].Name, Is.EqualTo("three")); Assert.That(parms.Parameters[1].Value, Is.EqualTo("4")); Assert.That(parms.RemainingArguments, Is.EqualTo(new[] { "zero", "http://five" })); }
private void AssertArgumentsParsed(ParsedCommandLineParameters parms) { Assert.That(parms.Parameters[0].Name, Is.EqualTo("one")); Assert.That(parms.Parameters[0].Value, Is.EqualTo(@"c:\two")); Assert.That(parms.Parameters[1].Name, Is.EqualTo("three")); Assert.That(parms.Parameters[1].Value, Is.EqualTo("4")); Assert.That(parms.RemainingArguments, Is.EqualTo(new[] {"zero", "http://five"})); }
public void ParseCommandLine(ParsedCommandLineParameters parsedParameters, IBounce bounce) { parsedParameters.IfParameterDo(LogLevelParameter, loglevel => bounce.LogOptions.LogLevel = ParseLogLevel(loglevel)); parsedParameters.IfParameterDo(CommandOutputParameter, commandOutput => bounce.LogOptions.CommandOutput = ParseBoolOption(commandOutput)); parsedParameters.IfParameterDo(LogFormatParameter, logformat => bounce.LogFactory = GetLogFactoryByName(logformat)); parsedParameters.IfParameterDo(DescribeTasksParameter, descTasks => bounce.LogOptions.DescribeTasks = ParseBoolOption(descTasks)); parsedParameters.IfParameterDo(LogFileParameter, logFileName => { var textWriter = File.AppendText(logFileName); textWriter.AutoFlush = true; bounce.LogOptions.StdOut = textWriter; bounce.LogOptions.StdErr = textWriter; }); }
private void AssertThatParameterSetsOption(string parameterName, string parameterValue, Func <IBounce, object> option, object expectedValue) { var parameters = new ParsedCommandLineParameters(); parameters.Parameters.Add(new ParsedCommandLineParameter { Name = parameterName, Value = parameterValue }); var bounce = new FakeBounce(); new LogOptionCommandLineTranslator(LogFactoryRegistry).ParseCommandLine(parameters, bounce); Func <IBounce, object> commandOutput = option; Assert.That(commandOutput(bounce), Is.EqualTo(expectedValue)); }
public ParsedCommandLineParameters ParseCommandLineParameters(string[] args) { var result = new ParsedCommandLineParameters(); var remainingArguments = new List<string>(); for (int i = 0; i < args.Length; i++) { var arg = args[i]; if (arg.StartsWith("/")) { ParsedCommandLineParameter parameter = ParseParameter(args, ref i); if (parameter != null) { result.Parameters.Add(parameter); } } else { remainingArguments.Add(arg); } } result.RemainingArguments = remainingArguments.ToArray(); return result; }
private void InterpretParameters(ICommandLineParameters parameters, ParsedCommandLineParameters parsedParameters, Bounce bounce) { parsedParameters.IfParameterDo("loglevel", loglevel => bounce.LogOptions.LogLevel = ParseLogLevel(loglevel)); parsedParameters.IfParameterDo("command-output", commandOutput => bounce.LogOptions.CommandOutput = commandOutput.ToLower() == "true"); parsedParameters.IfParameterDo("logformat", logformat => bounce.LogFactory = GetLogFactoryByName(logformat)); parameters.ParseCommandLineArguments(parsedParameters.Parameters); }
private void AssertThatParameterSetsOption(string parameterName, string parameterValue, Func<IBounce, object> option, object expectedValue) { var parameters = new ParsedCommandLineParameters(); parameters.Parameters.Add(new ParsedCommandLineParameter {Name = parameterName, Value = parameterValue}); var bounce = new FakeBounce(); new LogOptionCommandLineTranslator(LogFactoryRegistry).ParseCommandLine(parameters, bounce); Func<IBounce, object> commandOutput = option; Assert.That(commandOutput(bounce), Is.EqualTo(expectedValue)); }
private void InterpretParameters(ICommandLineParameters parameters, ParsedCommandLineParameters parsedParameters, Bounce bounce) { LogOptionCommandLineTranslator.ParseCommandLine(parsedParameters, bounce); bounce.ParametersGiven = parameters.ParseCommandLineArguments(parsedParameters.Parameters); }