diff options
| author | Ben Culkin <scorpress@gmail.com> | 2022-08-16 23:04:56 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2022-08-16 23:04:56 -0400 |
| commit | e43dc808d7304b90327c1def4452f6e3d9946983 (patch) | |
| tree | 7797eef414fb53d519076a471f8f8c65c61c71c5 /src/test/java | |
| parent | 081083574d93d983c0189907e5e829cb8c853188 (diff) | |
Update iterator capabilities
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/bjc/data/MarkListIteratorTest.java | 41 | ||||
| -rw-r--r-- | src/test/java/bjc/test/TestUtils.java | 8 |
2 files changed, 48 insertions, 1 deletions
diff --git a/src/test/java/bjc/data/MarkListIteratorTest.java b/src/test/java/bjc/data/MarkListIteratorTest.java new file mode 100644 index 0000000..6eb4994 --- /dev/null +++ b/src/test/java/bjc/data/MarkListIteratorTest.java @@ -0,0 +1,41 @@ +package bjc.data; + +import static org.junit.Assert.*; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; + +import bjc.test.TestUtils; + +/** + * Tests for {@link MarkListIterator} + * @author bjcul + * + */ +@SuppressWarnings("javadoc") +public class MarkListIteratorTest { + + @Test + public void test() { + List<String> list1 = Arrays.asList("a", "b", "c"); + + MarkListIterator<String> itr1 = new MarkListIterator<>(list1); + itr1.mark(); + + assertFalse(itr1.hasPrevious()); + assertTrue(itr1.hasNext()); + TestUtils.assertIteratorEquals(itr1, "a", "b", "c"); + + assertTrue(itr1.hasPrevious()); + assertFalse(itr1.hasNext()); + + itr1.rollback(false); + + assertFalse(itr1.hasPrevious()); + assertTrue(itr1.hasNext()); + TestUtils.assertIteratorEquals(itr1, "a", "b", "c"); + } + +} diff --git a/src/test/java/bjc/test/TestUtils.java b/src/test/java/bjc/test/TestUtils.java index d79157d..04cdf70 100644 --- a/src/test/java/bjc/test/TestUtils.java +++ b/src/test/java/bjc/test/TestUtils.java @@ -21,7 +21,13 @@ public class TestUtils { public static <T> void assertIteratorEquals(Iterator<T> src, T... vals) { for (int i = 0; i < vals.length; i++) { if (src.hasNext()) { - assertEquals(vals[i], src.next()); + T actNext = src.next(); + T expNext = vals[i]; + + String fmt = "mismatch at index %d"; + String msg = String.format(fmt, i); + + assertEquals(msg, expNext, actNext); } else { String msg = String.format("not enough values: got %d, wanted %d", i, vals.length); |
