Skip to content

Commit a781bb2

Browse files
committed
Add test for PR #100
1 parent e5f5008 commit a781bb2

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/test/java/org/lmdbjava/CursorTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import static org.lmdbjava.PutFlags.MDB_NODUPDATA;
4949
import static org.lmdbjava.PutFlags.MDB_NOOVERWRITE;
5050
import static org.lmdbjava.SeekOp.MDB_FIRST;
51+
import static org.lmdbjava.SeekOp.MDB_GET_BOTH;
5152
import static org.lmdbjava.TestUtils.DB_1;
5253
import static org.lmdbjava.TestUtils.POSIX_MODE;
5354
import static org.lmdbjava.TestUtils.bb;
@@ -172,6 +173,27 @@ public void delete() {
172173
}
173174
}
174175

176+
@Test
177+
public void getKeyVal() {
178+
final Dbi<ByteBuffer> db = env.openDbi(DB_1, MDB_CREATE, MDB_DUPSORT);
179+
try (Txn<ByteBuffer> txn = env.txnWrite();
180+
Cursor<ByteBuffer> c = db.openCursor(txn)) {
181+
c.put(bb(1), bb(2), MDB_APPENDDUP);
182+
c.put(bb(1), bb(4), MDB_APPENDDUP);
183+
c.put(bb(1), bb(6), MDB_APPENDDUP);
184+
c.put(bb(2), bb(1), MDB_APPENDDUP);
185+
c.put(bb(2), bb(2), MDB_APPENDDUP);
186+
c.put(bb(2), bb(3), MDB_APPENDDUP);
187+
c.put(bb(2), bb(4), MDB_APPENDDUP);
188+
assertThat(c.get(bb(1), bb(2), MDB_GET_BOTH), is(true));
189+
assertThat(c.count(), is(3L));
190+
assertThat(c.get(bb(1), bb(3), MDB_GET_BOTH), is(false));
191+
assertThat(c.get(bb(2), bb(1), MDB_GET_BOTH), is(true));
192+
assertThat(c.count(), is(4L));
193+
assertThat(c.get(bb(2), bb(0), MDB_GET_BOTH), is(false));
194+
}
195+
}
196+
175197
@Test
176198
public void putMultiple() {
177199
final Dbi<ByteBuffer> db = env.openDbi(DB_1, MDB_CREATE, MDB_DUPSORT,

0 commit comments

Comments
 (0)