@Test public void testCursor_withManyValues() { final long factor = 123456; final int k = 1000; for (int i = 1; i <= k; i++) { long key1 = (long) i; long key2 = key1 * factor; hsa.ensure(key1, key2); } boolean[] verifyKeys = new boolean[k]; Arrays.fill(verifyKeys, false); HashSlotCursor16byteKey cursor = hsa.cursor(); while (cursor.advance()) { long key1 = cursor.key1(); long key2 = cursor.key2(); assertEquals(key1 * factor, key2); verifyKeys[((int) key1) - 1] = true; } for (int i = 0; i < k; i++) { assertTrue("Haven't read " + k + "th key!", verifyKeys[i]); } }
@Test(expected = AssertionError.class) @RequireAssertEnabled public void testCursor_key2_whenDisposed() { HashSlotCursor16byteKey cursor = hsa.cursor(); hsa.dispose(); cursor.key2(); }
@Test public void testCursor_key2() { final long key1 = randomKey(); final long key2 = randomKey(); hsa.ensure(key1, key2); HashSlotCursor16byteKey cursor = hsa.cursor(); cursor.advance(); assertEquals(key2, cursor.key2()); }
@Test(expected = AssertionError.class) @RequireAssertEnabled public void testCursor_key2_withoutAdvance() { HashSlotCursor16byteKey cursor = hsa.cursor(); cursor.key2(); }