summaryrefslogtreecommitdiff
path: root/base/src/test/java/bjc/utils/ioutils/LevelSplitterTest.java
blob: bdc5d8de544484ce9cc064854ddef5983813bdef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package bjc.utils.ioutils;

import static bjc.utils.funcutils.TestUtils.assertListEquals;
import static bjc.utils.ioutils.LevelSplitterTest.RXPair.pair;

import org.junit.Test;

/**
 * Test of LevelSplitter.
 * 
 * @author bjculkin
 *
 */
public class LevelSplitterTest {
	static final class RXPair {
		public String inp;
		public String[] outp;

		public RXPair(String inp, String... outp) {
			this.inp = inp;
			this.outp = outp;
		}

		public static RXPair pair(String inp, String... outp) {
			return new RXPair(inp, outp);
		}
	}

	/**
	 * Test regex splitter.
	 */
	@Test
	public void testRXSplit() {
		//LevelSplitter splitter = LevelSplitter.def;

		// Check generic splitting works
		assertRXSplit("\\s+", pair("", ""), pair("a", "a"), pair("a b", "a", "b"), pair("a  b", "a", "b"),
				pair("a\t \tb", "a", "b"));
	}

	private static void assertRXSplit(String pat, RXPair... pairs) {
		for (RXPair pair : pairs) {
			assertListEquals(LevelSplitter.def.levelSplitRX(pair.inp, pat), pair.outp);
		}
	}
}