private void shouldSeekInOrderExactWithRange( IndexOrder order, Object o0, Object o1, Object o2, Object o3, Object o4, Object o5 ) throws Exception
{
Object baseValue = 1;
IndexQuery exact = exact( 100, baseValue );
IndexQuery range = range( 200, Values.of( o0 ), true, Values.of( o5 ), true );
IndexOrder[] indexOrders = orderCapability( exact, range );
Assume.assumeTrue( "Assume support for order " + order, ArrayUtils.contains( indexOrders, order ) );
updateAndCommit( asList(
add( 1, descriptor.schema(), baseValue, o0 ),
add( 1, descriptor.schema(), baseValue, o5 ),
add( 1, descriptor.schema(), baseValue, o1 ),
add( 1, descriptor.schema(), baseValue, o4 ),
add( 1, descriptor.schema(), baseValue, o2 ),
add( 1, descriptor.schema(), baseValue, o3 )
) );
SimpleNodeValueClient client = new SimpleNodeValueClient();
try ( AutoCloseable ignored = query( client, order, exact, range ) )
{
List<Long> seenIds = assertClientReturnValuesInOrder( client, order );
assertThat( seenIds.size(), equalTo( 6 ) );
}
}