summaryrefslogtreecommitdiff
path: root/src/test/java/bjc/everge/ControlledStringTest.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2019-07-02 16:59:14 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2019-07-02 16:59:14 -0400
commit5a1b096b47fbcca7e9cc6a24db558128f4cdd87f (patch)
tree8e5046c58978e0fd62a2758889cf61defdd807b5 /src/test/java/bjc/everge/ControlledStringTest.java
parent20000281fc88c188eb81d9d3d954119725a03ca6 (diff)
Convert to using ControlledString
All of the places that parse controls now use ControlledString instead of doing their own stuff. -\(o-o)/-
Diffstat (limited to 'src/test/java/bjc/everge/ControlledStringTest.java')
-rw-r--r--src/test/java/bjc/everge/ControlledStringTest.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/test/java/bjc/everge/ControlledStringTest.java b/src/test/java/bjc/everge/ControlledStringTest.java
new file mode 100644
index 0000000..8d76354
--- /dev/null
+++ b/src/test/java/bjc/everge/ControlledStringTest.java
@@ -0,0 +1,42 @@
+package bjc.everge;
+
+import bjc.everge.ControlledString.Control;
+
+import org.junit.Test;
+
+import static bjc.everge.ControlledString.Control.C;
+import static bjc.everge.TestUtils.*;
+
+import static org.junit.Assert.*;
+
+/**
+ * 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"));
+ }
+}