private static ProcessedArguments ProcessArgs(IReadOnlyList <string> args) { var processedArguments = new ProcessedArguments(); var argsStart = 2; if (args.Count == 0) { return(processedArguments); } processedArguments.IsHelpCall = args[args.Count - 1] == Settings.HelpString; processedArguments.Controller = TryGetArg(args, 0); processedArguments.Command = TryGetArg(args, 1); if (processedArguments.Command?.StartsWith(Settings.ArgumentPrefix) == true) { argsStart = 1; processedArguments.Command = null; } if (args.Count > argsStart && !processedArguments.IsHelpCall) { var argsList = args.ToList(); argsList.RemoveRange(0, argsStart); processedArguments.Arguments = SetArguments(argsList).ToList(); } return(processedArguments); }
public void ProcessArgs_RetrunsNewProcessedArguments_WhenPassedEmptyArgs() { var args = new List <string>(); var expected = new ProcessedArguments(); var actual = _service.ProcessArgs(args); Assert.AreEqual(expected, actual); }
private static ProcessedArguments ProcessArgs(string[] args) { ; var processedArguments = new ProcessedArguments(); if (args.Length == 0) { return(processedArguments); } processedArguments.IsHelpCall = args[args.Length - 1] == Settings.HelpString; processedArguments.Controller = TryGetArg(args, 0); processedArguments.Command = TryGetArg(args, 1); if (args.Length > 2 && !processedArguments.IsHelpCall) { var argsList = args.ToList(); argsList.RemoveRange(0, 2); processedArguments.Arguments = SetArguments(argsList); } return(processedArguments); }