@Test
public void dynamicRecordCursorReadsNotInUseRecords()
{
try ( AbstractDynamicStore store = newTestableDynamicStore() )
{
DynamicRecord first = createDynamicRecord( 1, store, 0 );
DynamicRecord second = createDynamicRecord( 2, store, 0 );
DynamicRecord third = createDynamicRecord( 3, store, 10 );
store.setHighId( 3 );
first.setNextBlock( second.getId() );
store.updateRecord( first );
second.setNextBlock( third.getId() );
store.updateRecord( second );
second.setInUse( false );
store.updateRecord( second );
Iterator<DynamicRecord> records = store.getRecords( 1, FORCE ).iterator();
assertTrue( records.hasNext() );
assertEquals( first, records.next() );
assertTrue( records.hasNext() );
DynamicRecord secondReadRecord = records.next();
assertEquals( second, secondReadRecord );
assertFalse( secondReadRecord.inUse() );
assertTrue( records.hasNext() );
assertEquals( third, records.next() );
assertFalse( records.hasNext() );
}
}