public void ShouldReturnNullWhenEmptyArgumentListIsGiven() { // arrange string[] arguments = new string[1]; // act string result = ArgumentParsingHelper.GetArgumentValueFromArguments(arguments, "parameter:"); // assert Assert.That(result, Is.Null); }
public void ShouldThrowNullReferenceExceptionWhenGivenKeyIsNotFound() { // arrange string[] arguments = new string[1]; arguments[0] = "notgiven: valueToReturn"; // act string result = ArgumentParsingHelper.GetArgumentValueFromArguments(arguments, "parameter:"); // assert Assert.That(result, Is.Null); }
public void ShouldReturnValueAfterGivenOptionFromStringArrayWithOneItem() { // arrange string[] arguments = new string[1]; arguments[0] = "parameter: valueToReturn"; // act string result = ArgumentParsingHelper.GetArgumentValueFromArguments(arguments, "parameter:"); // assert Assert.That(result, Is.EqualTo(" valueToReturn")); }
/// <summary> /// Entry point into application /// </summary> /// <param name="args"> /// Arguments used within app run, /// see <see cref="ArgumentParsingTarget"/> for details. /// </param> /// <returns></returns> public static async Task <int> Main(string[] args) { var argumentParser = new ArgumentParsingHelper(); try { var parsedParameters = argumentParser.Parse(args); var runningOptions = RunningOptionsHelper.GetRunningOptions(parsedParameters); ConfigureLogging(parsedParameters, runningOptions); Logger.Info($"Running in {runningOptions.GenValMode} mode for {EnumHelpers.GetEnumDescriptionFromEnum(runningOptions.AlgoMode)}"); // Get the IOC container for the algo AutofacConfig.IoCConfiguration(ServiceProvider, runningOptions.AlgoMode); using (var scope = AutofacConfig.GetContainer().BeginLifetimeScope()) { var genValRunner = new GenValRunner(scope); return(await genValRunner.Run(parsedParameters, runningOptions.GenValMode)); } } catch (CommandLineException ex) { var errorMessage = $"ERROR: {ex.Message}"; Console.WriteLine(errorMessage); Console.WriteLine(ex.StackTrace); Logger.Error($"Status Code: {StatusCode.CommandLineError}"); Logger.Error(errorMessage); argumentParser.ShowUsage(); return((int)StatusCode.CommandLineError); } catch (AlgoModeRevisionException ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); Logger.Fatal(ex); return((int)StatusCode.ModeError); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); Logger.Fatal(ex); return((int)StatusCode.Exception); } }