protected void testConsumeDelimitedString( ICharacterReader parseSource, char delimiter, char escapeChar, String expected) throws Exception { CharacterReader_SubReader subReader = new CharacterReader_SubReader(parseSource); CharacterReader_SubReader subReaderAlt2 = new CharacterReader_SubReader(parseSource); assertEquals(LexingUtils.consumeUntilDelimiter(subReader, delimiter, escapeChar), expected); // ensure advanceDelimitedString reads same number of strings; LexingUtils.advanceDelimitedString(subReaderAlt2, delimiter, escapeChar); assertTrue(subReader.readPosition == subReaderAlt2.readPosition); assertEquals(LexingUtils.consumeUntilDelimiter(parseSource, delimiter, escapeChar), expected); }
public void testConsumeNewline$() throws Exception { init("abc\ndef\r\nzzz"); assertAreEqual(LexingUtils.stringUntilNewline(parseSource, 0), "abc"); assertAreEqual(LexingUtils.stringUntilNewline(parseSource, 1), "bc"); assertAreEqual(LexingUtils.stringUntilNewline(parseSource, 3), ""); assertAreEqual(LexingUtils.consumeLine(parseSource), "abc"); assertAreEqual(LexingUtils.consumeLine(parseSource), "def"); assertAreEqual(LexingUtils.consumeLine(parseSource), "zzz"); assertAreEqual(LexingUtils.consumeLine(parseSource), null); }