public void StringArgument_ParseShouldFail_WithTypeQuotable_BecauseUnclosedQuotedString() { // Arrange StringArgument argument = new StringArgument(StringType.QUOTABLE); IStringReader reader = new StringReader("'foo"); // Act ReadResults readResults = argument.Parse(reader, out _); // Assert Assert.IsFalse(readResults.Successful); }
public void StringArgument_ParseShouldFail_WithTypeQuotable_BecauseInvalidEscapeSequence() { // Arrange StringArgument argument = new StringArgument(StringType.QUOTABLE); IStringReader reader = new StringReader("\"foo\\bar\""); // Act ReadResults readResults = argument.Parse(reader, out _); // Assert Assert.IsFalse(readResults.Successful); }
public void StringArgument_ParseShouldSucceed_WithTypeQuotable_WithQuote() { // Arrange StringArgument argument = new StringArgument(StringType.QUOTABLE); IStringReader reader = new StringReader("'foo bar'"); // Act ReadResults readResults = argument.Parse(reader, out _); // Assert Assert.IsTrue(readResults.Successful); }
public void StringArgument_WithTypeWord_HasTrailingCharacters() { // Arrange StringArgument argument = new StringArgument(StringType.WORD); IStringReader reader = new StringReader("foo!@#"); // Act argument.Parse(reader, out _); // Assert Assert.IsTrue(reader.CanRead(3)); }
public void StringArgument_ParseShouldSucceed_WhenEmpty_WithTypeWord() { // Arrange StringArgument argument = new StringArgument(StringType.WORD); IStringReader reader = new StringReader(""); // Act ReadResults readResults = argument.Parse(reader, out _); // Assert Assert.IsTrue(readResults.Successful); }
public void StringArgument_ParseShouldSucceed_WithTypeGreedy() { // Arrange StringArgument argument = new StringArgument(StringType.GREEDY); IStringReader reader = new StringReader("Hello world! This is a test."); // Act argument.Parse(reader, out _); // Assert Assert.IsFalse(reader.CanRead()); }
public void StringArgument_WithTypeQuotable_EscapesCorrectly() { // Arrange StringArgument argument = new StringArgument(StringType.QUOTABLE); IStringReader reader = new StringReader("\"\\\"foo bar\\\"\""); // Act argument.Parse(reader, out string result); // Assert Assert.AreEqual(result, "\"foo bar\""); }