public void Test_With_Single_Option(Type escapeHandlerType, string sigil) { // Arrange var escapeHandler = Activator.CreateInstance(escapeHandlerType, new object[] { sigil }) as IArgumentEscapeHandler; var builder = new ProcessArgumentBuilder(escapeHandler); builder.AddOption("-v"); // Act var result = builder.Build(); // Assert Assert.Equal("-v", result); }
public void Test_Multiple_Arguments(string argumentValueSeparator, string sigil, string firstArgument, string secondArgument, string firstArgumentExpectedOutput, string secondArgumentExpectedOutput, Type escapeHandlerType) { // Arrange var s = sigil; var escapeHandler = Activator.CreateInstance(escapeHandlerType, new object[] { sigil }) as IArgumentEscapeHandler; var builder = new ProcessArgumentBuilder(escapeHandler, argumentValueSeparator); builder.AddOption($"{s}help"); builder.AddNamedArgument($"{s}f", firstArgument); builder.AddNamedArgument($"{s}o", secondArgument, "="); // Act var result = builder.Build(); // Assert Assert.Equal($"{s}help {s}f{argumentValueSeparator}{firstArgumentExpectedOutput} {s}o={secondArgumentExpectedOutput}", result); }