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); }
public void Test_ToStringSafe(string argumentValueSeparator, string argumentValue, bool isSensitive, string expected, Type escapeHandlerType, string sigil) { // Arrange var escapeHandler = Activator.CreateInstance(escapeHandlerType, new object[] { sigil }) as IArgumentEscapeHandler; var builder = new ProcessArgumentBuilder(escapeHandler, argumentValueSeparator); builder.AddNamedArgument("-p", argumentValue, isSensitiveArgument: isSensitive); // Act var result = builder.BuildSafe(SAFE_PLACEHOLDER); // Assert Assert.Equal(expected, result); }