public void Test_With_No_Arguments(Type escapeHandlerType, string sigil) { // Arrange var escapeHandler = Activator.CreateInstance(escapeHandlerType, new object[] { sigil }) as IArgumentEscapeHandler; var builder = new ProcessArgumentBuilder(escapeHandler); // Act var result = builder.Build(); // Assert Assert.Equal("", result); }
public void Test_That_Argument_Starting_With_Sigil_Is_Quoted(Type escapeHandlerType, string sigil) { // Arrange var escapeHandler = Activator.CreateInstance(escapeHandlerType, new object[] { sigil }) as IArgumentEscapeHandler; var builder = new ProcessArgumentBuilder(escapeHandler); builder.AddArgument($"{sigil}test"); // Act var result = builder.Build(); // Assert Assert.Equal($"\"{sigil}test\"", 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); }