From 72ab61c43f291f987970b73f97e13b51ac229582 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Sun, 6 Apr 2008 04:17:35 +0000 Subject: Replace SliceCursor with simpler SkipCursor and LimitCursor classes. --- .../com/amazon/carbonado/cursor/TestCursors.java | 119 ++++++++------------- 1 file changed, 44 insertions(+), 75 deletions(-) (limited to 'src/test/java/com') diff --git a/src/test/java/com/amazon/carbonado/cursor/TestCursors.java b/src/test/java/com/amazon/carbonado/cursor/TestCursors.java index 172fd26..a6c25aa 100644 --- a/src/test/java/com/amazon/carbonado/cursor/TestCursors.java +++ b/src/test/java/com/amazon/carbonado/cursor/TestCursors.java @@ -92,81 +92,50 @@ public class TestCursors extends TestCase { assertFalse(cursor.hasNext()); } - public void testSlice() throws Exception { - Cursor range; - - // Empty source. - range = SliceCursor.slice(createElements(), 10, 100); - compareElements(range); - range = SliceCursor.slice(createElements(), 10, 10); - compareElements(range); - - // start at zero - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 0, 100); - compareElements(range, 1, 2, 3, 4, 5); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 0, 5); - compareElements(range, 1, 2, 3, 4, 5); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 0, 4); - compareElements(range, 1, 2, 3, 4); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 0, 1); - compareElements(range, 1); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 0, 0); - compareElements(range); - - // start after zero - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 1, 100); - compareElements(range, 2, 3, 4, 5); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 1, 5); - compareElements(range, 2, 3, 4, 5); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 1, 4); - compareElements(range, 2, 3, 4); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 1, 2); - compareElements(range, 2); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 1, 1); - compareElements(range); - - // start too high - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 5, 100); - compareElements(range); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 50, 100); - compareElements(range); - - // start in middle but end high - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 100); - compareElements(range, 3, 4, 5); - - // start after zero and skip - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 100); - assertEquals(1, range.skipNext(1)); - compareElements(range, 4, 5); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 4); - assertEquals(1, range.skipNext(1)); - compareElements(range, 4); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 100); - assertEquals(2, range.skipNext(2)); - compareElements(range, 5); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 100); - assertEquals(3, range.skipNext(3)); - compareElements(range); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 100); - assertEquals(3, range.skipNext(4)); - compareElements(range); - - // start in middle, end high, and skip - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 2, 100); - assertEquals(2, range.skipNext(2)); - compareElements(range, 5); - - // start too high and skip - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 5, 100); - assertEquals(0, range.skipNext(1)); - compareElements(range); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 5, 5); - assertEquals(0, range.skipNext(1)); - compareElements(range); - range = SliceCursor.slice(createElements(1, 2, 3, 4, 5), 500, 600); - assertEquals(0, range.skipNext(1)); - compareElements(range); + public void testSkip() throws Exception { + Cursor c; + + // empty source + c = new SkipCursor(createElements(), 0); + compareElements(c); + c = new SkipCursor(createElements(), 10); + compareElements(c); + + c = new SkipCursor(createElements(1, 2, 3, 4, 5), 0); + compareElements(c, 1, 2, 3, 4, 5); + c = new SkipCursor(createElements(1, 2, 3, 4, 5), 1); + compareElements(c, 2, 3, 4, 5); + c = new SkipCursor(createElements(1, 2, 3, 4, 5), 2); + compareElements(c, 3, 4, 5); + + // skip too much + c = new SkipCursor(createElements(1, 2, 3, 4, 5), 5); + compareElements(c); + c = new SkipCursor(createElements(1, 2, 3, 4, 5), 6); + compareElements(c); + } + + public void testLimit() throws Exception { + Cursor c; + + // empty source + c = new LimitCursor(createElements(), 0); + compareElements(c); + c = new LimitCursor(createElements(), 10); + compareElements(c); + + c = new LimitCursor(createElements(1, 2, 3, 4, 5), 0); + compareElements(c); + c = new LimitCursor(createElements(1, 2, 3, 4, 5), 1); + compareElements(c, 1); + c = new LimitCursor(createElements(1, 2, 3, 4, 5), 2); + compareElements(c, 1, 2); + + // limit too high + c = new LimitCursor(createElements(1, 2, 3, 4, 5), 5); + compareElements(c, 1, 2, 3, 4, 5); + c = new LimitCursor(createElements(1, 2, 3, 4, 5), 6); + compareElements(c, 1, 2, 3, 4, 5); } public void testUnion() throws Exception { -- cgit v1.2.3