X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=svjatoslav_commons.git;a=blobdiff_plain;f=src%2Ftest%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fstring%2Ftokenizer%2FTokenizerTest.java;h=519b6d1248a725958df88705560170a1cb12bce2;hp=9f3536799081c21b8fbb7e672e9947573fe7b721;hb=9bb7c6bf73ebbcbc66f4abd0fabf2f698c42d42c;hpb=67f7af91a79bc2ff50071389b6333a28755a4bff diff --git a/src/test/java/eu/svjatoslav/commons/string/tokenizer/TokenizerTest.java b/src/test/java/eu/svjatoslav/commons/string/tokenizer/TokenizerTest.java index 9f35367..519b6d1 100644 --- a/src/test/java/eu/svjatoslav/commons/string/tokenizer/TokenizerTest.java +++ b/src/test/java/eu/svjatoslav/commons/string/tokenizer/TokenizerTest.java @@ -10,57 +10,42 @@ public class TokenizerTest { @Test public void testPeeking() throws Exception { - Tokenizer tokenizer = new Tokenizer("this is a N'2015-03-18 09:48:54.360' test") - .addTerminator(" ", DROP) - .addTerminator("N'", "'", PRESERVE); + Tokenizer tokenizer = new Tokenizer("this is a N'2015-03-18 09:48:54.360' test"); + tokenizer.addTerminator(DROP, "\\s"); + tokenizer.addTerminator(PRESERVE, "N'.*'"); - tokenizer.expectAndConsumeNextToken("this"); + tokenizer.expectAndConsumeNextStringToken("this"); assertEquals("is", tokenizer.peekNextToken().token); assertEquals("is", tokenizer.peekNextToken().token); - assertEquals(true, tokenizer.peekIsOneOf("maybe", "is", "that")); + assertTrue(tokenizer.peekIsOneOf("maybe", "is", "that")); } @Test public void testTokenization() throws Exception { - Tokenizer tokenizer = new Tokenizer("\"hello\" /** comment **/ (( is a N'2015-03-18 09:48:54.360' test") - .addTerminator(" ", DROP) - .addTerminator("(", PRESERVE) - .addTerminator("\"", "\"", PRESERVE) - .addTerminator("N'", "'", PRESERVE) - .addTerminator("/*", "*/", DROP); - - assertTokenEquals("\"", "hello", tokenizer); - assertTokenEquals("(", null, tokenizer); - assertTokenEquals("(", null, tokenizer); - assertTokenEquals("is", null, tokenizer); - assertTokenEquals("a", null, tokenizer); - assertTokenEquals("N'", "2015-03-18 09:48:54.360", tokenizer); - assertTokenEquals("test", null, tokenizer); + Tokenizer tokenizer = new Tokenizer("\"hello world\" /** comment **/ (( is a N'2015-03-18 09:48:54.360' test"); + tokenizer.addTerminator(DROP,"\\s"); + tokenizer.addTerminator(PRESERVE,"\\("); + tokenizer.addTerminator(PRESERVE, "\\\".*\\\""); + tokenizer.addTerminator(PRESERVE, "N'.*'"); + tokenizer.addTerminator(DROP,"/\\*.*\\*/"); + + assertTokenEquals("\"hello world\"", tokenizer); + assertTokenEquals("(", tokenizer); + assertTokenEquals("(", tokenizer); + assertTokenEquals("is", tokenizer); + assertTokenEquals("a", tokenizer); + assertTokenEquals("N'2015-03-18 09:48:54.360'", tokenizer); + assertTokenEquals("test", tokenizer); assertNull(tokenizer.getNextToken()); assertFalse(tokenizer.hasMoreContent()); } - private void assertTokenEquals(String token, String reminder, Tokenizer tokenizer) throws InvalidSyntaxException { - TokenizerMatch nextToken = tokenizer.getNextToken(); - - assertEquals(token, nextToken.token); - - if (reminder == null) - assertNull(nextToken.reminder); - else - assertEquals(reminder, nextToken.reminder); - } - - private void debugNextToken(Tokenizer tokenizer) throws InvalidSyntaxException { - TokenizerMatch nextToken = tokenizer.getNextToken(); - if (nextToken == null) - System.out.println("null"); - else - System.out.println("T: \"" + nextToken.token + "\", R: \"" + nextToken.reminder + "\""); + private void assertTokenEquals(String expectedValue, Tokenizer tokenizer){ + assertEquals(expectedValue, tokenizer.getNextToken().token); } } \ No newline at end of file