@Test public void testFirstLastNextPrev() { Transaction transaction = store.beginTx(); KeyValueCursor cursor = transaction.createKeyValueCursor(); cursor.put(1, new byte[]{1, 2, 3, 4}); cursor.put(2, new byte[]{2, 3, 4, 5}); cursor.put(4, new byte[]{4, 5, 6, 7}); cursor.put(8, new byte[]{8, 9, 10, 11, 12, 13, 14, 15}); assertTrue(Arrays.equals(new byte[]{1, 2, 3, 4}, cursor.getFirst())); assertTrue(Arrays.equals(new byte[]{2, 3, 4, 5}, cursor.getNext())); assertTrue(Arrays.equals(new byte[]{4, 5, 6, 7}, cursor.getNext())); assertTrue(Arrays.equals(new byte[]{2, 3, 4, 5}, cursor.getPrev())); // getLast is currently unsupported // assertTrue(Arrays.equals(new byte[]{8, 9, 10, 11, 12, 13}, cursor.getLast())); // assertTrue(Arrays.equals(new byte[]{4, 5, 6, 7, 8}, cursor.getPrev())); cursor.close(); transaction.abort(); }
assertTrue(Arrays.equals(new byte[]{8, 1, 0, 0}, cursor.getNext())); assertTrue(Arrays.equals(new byte[]{8, 1, 0, 0}, cursor.getCurrent())); assertEquals(8, cursor.getKey()); assertTrue(Arrays.equals(new byte[]{8, 1, 0, 0}, cursor.getNext())); assertTrue(Arrays.equals(new byte[]{8, 1, 0, 0}, cursor.getCurrent())); assertEquals(8, cursor.getKey());
@Test public void testRemove() { Transaction transaction = store.beginTx(); try { KeyValueCursor cursor = transaction.createKeyValueCursor(); cursor.put(1, new byte[]{1, 1, 0, 0}); cursor.put(2, new byte[]{2, 1, 0, 0}); cursor.put(4, new byte[]{4, 1, 0, 0}); assertTrue(cursor.removeAt(2)); // now 4 should be next to 1 assertTrue(cursor.seek(1)); byte[] next = cursor.getNext(); assertNotNull(next); assertTrue(Arrays.equals(new byte[]{4, 1, 0, 0}, next)); } finally { transaction.close(); } }
@Test public void testPutAndGetNext() { byte[] value = {23, 27, 42, 66}; byte[] value2 = {0xc, 0xa, 0xf, 0xe}; Transaction transaction = store.beginTx(); KeyValueCursor cursor = transaction.createKeyValueCursor(); cursor.put(23, value); assertEquals(23, cursor.getKey()); cursor.put(42, value2); assertEquals(42, cursor.getKey()); assertTrue(Arrays.equals(value, cursor.get(23))); assertEquals(23, cursor.getKey()); assertTrue(Arrays.equals(value2, cursor.getNext())); assertEquals(42, cursor.getKey()); cursor.close(); transaction.abort(); }