summaryrefslogtreecommitdiff
path: root/src/test/java/bjc/everge/ControlledStringTest.java
blob: 43a660e9078def0a288bc397ff69eee8f8aa87fc (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
package bjc.everge;

import org.junit.Test;

import static bjc.everge.ControlledString.Control.C;
import static bjc.everge.TestUtils.*;

/**
 * Test for ControlledString.
 *
 * @author Ben Culkin
 */
public class ControlledStringTest {
	@Test
	public void testNoControls() {
		assertIsControl("a", "a");
		assertIsControl("abc", "abc");
	}

	@Test
	public void testSimpleControls() {
		assertIsControl("//a//", "", C("a"));
		assertIsControl("//a;b//", "", C("a"), C("b"));
		assertIsControl("//a;b;c//", "", C("a"), C("b"), C("c"));
	}

	@Test
	public void testArgedControls() {
		assertIsControl("//a/b//", "", C("a", "b"));
		assertIsControl("//a/b;c//", "", C("a", "b"), C("c"));
		assertIsControl("//a/b;c/1/2//", "", C("a", "b"), C("c", "1", "2"));
	}

	@Test
	public void testMixedControls() {
		assertIsControl("//a//b", "b", C("a"));
	}
}