cursor.close();
assertTrue( cursor.isClosed() );
// ---------- test first() ----------
cursor = new GreaterEqCursor( store, evaluator );
cursor.first();
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 5L ), cursor.get().getId() );
assertEquals( "3", cursor.get().getKey() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 6L ), cursor.get().getId() );
assertEquals( "4", cursor.get().getKey() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 7L ), cursor.get().getId() );
assertEquals( "5", cursor.get().getKey() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
assertFalse( cursor.next() );
assertFalse( cursor.available() );
cursor.close();
assertTrue( cursor.isClosed() );
// ---------- test afterLast() ----------
cursor = new GreaterEqCursor( store, evaluator );
cursor.afterLast();
assertFalse( cursor.available() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 7L ), cursor.get().getId() );
assertEquals( "5", cursor.get().getKey() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 6L ), cursor.get().getId() );
assertEquals( "4", cursor.get().getKey() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 5L ), cursor.get().getId() );
assertEquals( "3", cursor.get().getKey() );
assertFalse( cursor.previous() );
assertFalse( cursor.available() );
cursor.close();
assertTrue( cursor.isClosed() );
// ---------- test last() ----------
cursor = new GreaterEqCursor( store, evaluator );
cursor.last();
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 7L ), cursor.get().getId() );
assertEquals( "5", cursor.get().getKey() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 6L ), cursor.get().getId() );
assertEquals( "4", cursor.get().getKey() );
assertTrue( cursor.previous() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 5L ), cursor.get().getId() );
assertEquals( "3", cursor.get().getKey() );
assertFalse( cursor.previous() );
assertFalse( cursor.available() );
cursor.close();
assertTrue( cursor.isClosed() );
// ---------- test before() ----------
cursor = new GreaterEqCursor( store, evaluator );
IndexEntry<String, String> indexEntry = new IndexEntry<String, String>();
indexEntry.setKey( "5" );
assertFalse( cursor.available() );
cursor.before( indexEntry );
assertFalse( cursor.available() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 7L ), cursor.get().getId() );
assertEquals( "5", cursor.get().getKey() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
assertFalse( cursor.next() );
assertFalse( cursor.available() );
cursor.close();
assertTrue( cursor.isClosed() );
cursor = new GreaterEqCursor( store, evaluator );
indexEntry = new IndexEntry<String, String>();
indexEntry.setKey( "7" );
cursor.before( indexEntry );
assertFalse( cursor.available() );
assertTrue( cursor.previous() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
cursor.close();
cursor = new GreaterEqCursor( store, evaluator );
indexEntry = new IndexEntry<String, String>();
indexEntry.setKey( "3" );
cursor.before( indexEntry );
assertFalse( cursor.available() );
assertTrue( cursor.next() );
assertEquals( Strings.getUUID( 5L ), cursor.get().getId() );
assertEquals( "3", cursor.get().getKey() );
cursor.close();
// ---------- test after() ----------
cursor = new GreaterEqCursor( store, evaluator );
indexEntry = new IndexEntry<String, String>();
indexEntry.setKey( "4" );
assertFalse( cursor.available() );
cursor.after( indexEntry );
assertFalse( cursor.available() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 7L ), cursor.get().getId() );
assertEquals( "5", cursor.get().getKey() );
assertTrue( cursor.next() );
assertTrue( cursor.available() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
assertFalse( cursor.next() );
assertFalse( cursor.available() );
cursor.close();
assertTrue( cursor.isClosed() );
cursor = new GreaterEqCursor( store, evaluator );
indexEntry = new IndexEntry<String, String>();
indexEntry.setKey( "7" );
cursor.after( indexEntry );
assertFalse( cursor.available() );
assertTrue( cursor.previous() );
assertEquals( Strings.getUUID( 8L ), cursor.get().getId() );
assertEquals( "6", cursor.get().getKey() );
cursor.close();
cursor = new GreaterEqCursor( store, evaluator );
indexEntry = new IndexEntry<String, String>();
indexEntry.setKey( "3" );
cursor.after( indexEntry );
assertFalse( cursor.available() );
assertTrue( cursor.previous() );