From d3d940cdb143494122a5dec2f137b655d529a4b3 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 20 Oct 2020 18:43:18 -0400 Subject: Add additional tests Clean up the tests for BooleanToggle, and add a basic test for Either --- src/test/java/bjc/data/BooleanToggleTest.java | 9 +++++++++ src/test/java/bjc/data/EitherTest.java | 25 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/test/java/bjc/data/EitherTest.java (limited to 'src/test') diff --git a/src/test/java/bjc/data/BooleanToggleTest.java b/src/test/java/bjc/data/BooleanToggleTest.java index bf7a04f..28b30c2 100644 --- a/src/test/java/bjc/data/BooleanToggleTest.java +++ b/src/test/java/bjc/data/BooleanToggleTest.java @@ -33,5 +33,14 @@ 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()); + + // Test toString + assertEquals("true", tog); } } 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 left = Either.left("left"); + Either right = Either.right("right"); + + assertNotEquals(left, right); + } + +} -- cgit v1.2.3 From e76df7f7140361a746ab43aad9a23d83cb4cabaf Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 27 Oct 2020 20:29:06 -0400 Subject: Fix test issue --- src/test/java/bjc/data/BooleanToggleTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/test') diff --git a/src/test/java/bjc/data/BooleanToggleTest.java b/src/test/java/bjc/data/BooleanToggleTest.java index 28b30c2..bd75a41 100644 --- a/src/test/java/bjc/data/BooleanToggleTest.java +++ b/src/test/java/bjc/data/BooleanToggleTest.java @@ -41,6 +41,6 @@ public class BooleanToggleTest { assertEquals(tog.hashCode(), tog2.hashCode()); // Test toString - assertEquals("true", tog); + assertEquals("true", tog.toString()); } } -- cgit v1.2.3 From 06a9b4fd7b8eb5483cadceb8f4daef7b4a6d4230 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sun, 8 Nov 2020 19:17:49 -0500 Subject: Add test for ID --- src/test/java/bjc/functypes/IDTest.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/test/java/bjc/functypes/IDTest.java (limited to 'src/test') 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 idOp = ID.id(); + + assertEquals("hello", idOp.apply("hello")); + + assertEquals(1, ID.id().apply(1)); + } + +} -- cgit v1.2.3 From bbddfcafec1b72972e1f925048ddbe715411798d Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sun, 8 Nov 2020 19:50:55 -0500 Subject: Add some additional tests --- src/test/java/bjc/data/ArrayIteratorTest.java | 33 ++++++++++++++++++++++++ src/test/java/bjc/data/BooleanToggleTest.java | 8 +++++- src/test/java/bjc/data/CircularIteratorTest.java | 15 ++++++++--- 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 src/test/java/bjc/data/ArrayIteratorTest.java (limited to 'src/test') 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 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 bd75a41..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; @@ -40,6 +40,12 @@ public class BooleanToggleTest { 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 arrayItr = new ArrayIterator<>("a", "b"); + CircularIterator itr = new CircularIterator<>(() -> arrayItr); + + itr.remove(); + } } -- cgit v1.2.3