diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/bjc/data/ArrayIteratorTest.java | 33 | ||||
| -rw-r--r-- | src/test/java/bjc/data/BooleanToggleTest.java | 17 | ||||
| -rw-r--r-- | src/test/java/bjc/data/CircularIteratorTest.java | 15 | ||||
| -rw-r--r-- | src/test/java/bjc/data/EitherTest.java | 25 | ||||
| -rw-r--r-- | src/test/java/bjc/functypes/IDTest.java | 26 |
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)); + } + +} |
