summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/bjc/data/ArrayIteratorTest.java33
-rw-r--r--src/test/java/bjc/data/BooleanToggleTest.java17
-rw-r--r--src/test/java/bjc/data/CircularIteratorTest.java15
-rw-r--r--src/test/java/bjc/data/EitherTest.java25
-rw-r--r--src/test/java/bjc/functypes/IDTest.java26
5 files changed, 112 insertions, 4 deletions
diff --git a/src/test/java/bjc/data/ArrayIteratorTest.java b/src/test/java/bjc/data/ArrayIteratorTest.java
new file mode 100644
index 0000000..223eea2
--- /dev/null
+++ b/src/test/java/bjc/data/ArrayIteratorTest.java
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package bjc.data;
+
+import static org.junit.Assert.*;
+
+import org.junit.*;
+
+/**
+ * Test ArrayIterator
+ * @author Ben Culkin
+ *
+ */
+public class ArrayIteratorTest {
+
+ /**
+ * Test ArrayIterator
+ */
+ @Test
+ public void test() {
+ ArrayIterator<String> itr = new ArrayIterator<>("a", "b", "c");
+
+ assertTrue(itr.hasNext());
+ assertEquals("a", itr.next());
+ assertEquals("b", itr.next());
+ assertEquals("c", itr.next());
+
+ assertFalse(itr.hasNext());
+ assertNull(itr.next());
+ }
+
+}
diff --git a/src/test/java/bjc/data/BooleanToggleTest.java b/src/test/java/bjc/data/BooleanToggleTest.java
index bf7a04f..0b0937f 100644
--- a/src/test/java/bjc/data/BooleanToggleTest.java
+++ b/src/test/java/bjc/data/BooleanToggleTest.java
@@ -1,6 +1,6 @@
package bjc.data;
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
import org.junit.Test;
@@ -33,5 +33,20 @@ public class BooleanToggleTest {
// Check set works
assertEquals(true, tog.peek());
+
+ BooleanToggle tog2 = new BooleanToggle(true);
+
+ // Test equals/hashcode
+ assertEquals(tog, tog2);
+ assertEquals(tog.hashCode(), tog2.hashCode());
+
+ // Swap toggle
+ tog2.get();
+
+ assertNotEquals(tog.hashCode(), tog2.hashCode());
+ assertNotEquals(tog, tog2);
+
+ // Test toString
+ assertEquals("true", tog.toString());
}
}
diff --git a/src/test/java/bjc/data/CircularIteratorTest.java b/src/test/java/bjc/data/CircularIteratorTest.java
index dfe2a17..8091e1c 100644
--- a/src/test/java/bjc/data/CircularIteratorTest.java
+++ b/src/test/java/bjc/data/CircularIteratorTest.java
@@ -1,9 +1,7 @@
package bjc.data;
import static bjc.TestUtils.*;
-
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
import org.junit.Test;
@@ -45,4 +43,15 @@ public class CircularIteratorTest {
// Check we repeat correctly, and can still repeat
assertIteratorEquals(true, itr, "c", "c", "c");
}
+
+ /**
+ * Test that remove throws an exception.
+ */
+ @Test(expected = UnsupportedOperationException.class)
+ public void testRemove() {
+ Iterator<String> arrayItr = new ArrayIterator<>("a", "b");
+ CircularIterator<String> itr = new CircularIterator<>(() -> arrayItr);
+
+ itr.remove();
+ }
}
diff --git a/src/test/java/bjc/data/EitherTest.java b/src/test/java/bjc/data/EitherTest.java
new file mode 100644
index 0000000..bbf94b7
--- /dev/null
+++ b/src/test/java/bjc/data/EitherTest.java
@@ -0,0 +1,25 @@
+package bjc.data;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Test Either
+ * @author Ben Culkin
+ *
+ */
+public class EitherTest {
+
+ /**
+ * Do a test of Either.
+ */
+ @Test
+ public void test() {
+ Either<String, String> left = Either.left("left");
+ Either<String, String> right = Either.right("right");
+
+ assertNotEquals(left, right);
+ }
+
+}
diff --git a/src/test/java/bjc/functypes/IDTest.java b/src/test/java/bjc/functypes/IDTest.java
new file mode 100644
index 0000000..0865282
--- /dev/null
+++ b/src/test/java/bjc/functypes/IDTest.java
@@ -0,0 +1,26 @@
+package bjc.functypes;
+
+import static org.junit.Assert.*;
+
+import java.util.function.*;
+
+import org.junit.*;
+
+/**
+ * Test for ID.
+ *
+ * @author Ben Culkin
+ *
+ */
+public class IDTest {
+
+ @Test
+ public void testID() {
+ UnaryOperator<String> idOp = ID.id();
+
+ assertEquals("hello", idOp.apply("hello"));
+
+ assertEquals(1, ID.id().apply(1));
+ }
+
+}