package com.googlecode.zohhak.internal.parsing; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import com.googlecode.zohhak.api.TestWith; import com.googlecode.zohhak.api.runners.ZohhakRunner; import com.googlecode.zohhak.internal.parsing.Parser; @RunWith(ZohhakRunner.class) public class ParserTest { private static final String QUOTE = "'"; private static final String COMMA = ","; Parser parser = new Parser(); @Test public void testSplitOneElement() { String[] splited = parser.split(" a ", COMMA, QUOTE); assertThat(splited).containsSequence("a").hasSize(1); } @Test public void testSplitMoreElements() { String[] splited = parser.split(" a , b ", COMMA, QUOTE); assertThat(splited).containsSequence("a", "b").hasSize(2); } @Test public void testOneQuoted() { String[] splited = parser.split(" ' a ' ", COMMA, QUOTE); assertThat(splited).containsSequence(" a ").hasSize(1); } @Test public void testTwoQuoted() { String[] splited = parser.split(" ' a ', ' b' ", COMMA, QUOTE); assertThat(splited).containsSequence(" a ", " b").hasSize(2); } @TestWith({ "aba, b", "ba, b", "aabaa, aba", "b, b", "a, ", " , ", "," }) public void removeEdgesTest(String input, String trimmed) { String withoutEdges = parser.removeEdges(input, "a"); assertThat(withoutEdges).isEqualTo(trimmed); } }