summaryrefslogtreecommitdiff
path: root/base/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/test')
-rw-r--r--base/src/test/java/bjc/utils/funcutils/IteratorUtilsTest.java27
-rw-r--r--base/src/test/java/bjc/utils/funcutils/StringUtilsTest.java46
2 files changed, 73 insertions, 0 deletions
diff --git a/base/src/test/java/bjc/utils/funcutils/IteratorUtilsTest.java b/base/src/test/java/bjc/utils/funcutils/IteratorUtilsTest.java
new file mode 100644
index 0000000..54e1044
--- /dev/null
+++ b/base/src/test/java/bjc/utils/funcutils/IteratorUtilsTest.java
@@ -0,0 +1,27 @@
+package bjc.utils.funcutils;
+
+import java.util.Arrays;
+import java.util.List;
+import org.junit.Test;
+
+import static bjc.utils.funcutils.IteratorUtils.*;
+import static bjc.utils.funcutils.TestUtils.assertIteratorEquals;
+
+import static java.util.Arrays.asList;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Test IteratorUtils functionality.
+ *
+ * @author Ben Culkin
+ */
+public class IteratorUtilsTest {
+ /**
+ * Test the chain() method works correctly.
+ */
+ @Test
+ public void testChain() {
+ assertIteratorEquals(chain(I(asList("a b", "b c")), (arg) -> I(asList(arg.split(" ")))), "a", "b", "b", "c");
+ }
+}
diff --git a/base/src/test/java/bjc/utils/funcutils/StringUtilsTest.java b/base/src/test/java/bjc/utils/funcutils/StringUtilsTest.java
new file mode 100644
index 0000000..560b85d
--- /dev/null
+++ b/base/src/test/java/bjc/utils/funcutils/StringUtilsTest.java
@@ -0,0 +1,46 @@
+package bjc.utils.funcutils;
+
+import java.io.StringReader;
+
+import java.util.Scanner;
+
+import org.junit.Test;
+
+import static bjc.utils.funcutils.StringUtils.readLines;
+import static bjc.utils.funcutils.TestUtils.assertIteratorEquals;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Tests of stuff in StringUtils.
+ *
+ * @author Ben Culkin
+ */
+public class StringUtilsTest {
+ @Test
+ public void testReadLines() {
+ assertReadLines("", "");
+
+ assertReadLines("hallo there", "hallo there");
+
+ assertReadLines("hallo there\na second line", "hallo there", "a second line");
+
+ assertReadLines("hallo there \\\na continued line", "hallo there a continued line");
+
+ assertReadLines("hallo there\\\\\na second line", "hallo there\\", "a second line");
+
+ assertReadLines("a\n\nb", "a", "", "b");
+ }
+
+ private static void assertReadLinesOpts(String inp, String... outp) {
+ StringReader sr = new StringReader(inp);
+ Scanner scn = new Scanner(sr);
+ assertIteratorEquals(readLines(scn), outp);
+ }
+
+ private static void assertReadLines(String inp, String... outp) {
+ StringReader sr = new StringReader(inp);
+ Scanner scn = new Scanner(sr);
+ assertIteratorEquals(readLines(scn), outp);
+ }
+}