private static Value nextValidValue( boolean includeIncomparable ) { Value value; do { value = random.randomValues().nextValue(); } while ( !includeIncomparable && isIncomparable( value ) ); return value; }
@Before public void before() { generators = new LimitedRecordGenerators( random.randomValues(), entityBits, propertyBits, 40, 16, -1 ); }
ValueType[] randomSetOfSupportedTypes() { ValueType[] supportedTypes = testSuite.supportedValueTypes(); return random.randomValues().selection( supportedTypes, 2, supportedTypes.length, false ); }
@Test public void testIndexRangeSeekByNumber() throws Exception { testIndexRangeSeek( () -> random.randomValues().nextNumberValue() ); }
@Test public void testIndexRangeSeekByText() throws Exception { testIndexRangeSeek( () -> random.randomValues().nextTextValue() ); }
@Test public void testIndexRangeSeekByDate() throws Exception { testIndexRangeSeek( () -> random.randomValues().nextDateValue() ); }
@Test public void testIndexRangeSeekByByteArray() throws Exception { testIndexRangeSeekArray( () -> random.randomValues().nextByteArray() ); }
private IndexEntryUpdate<IndexDescriptor>[] someUpdates( RandomRule random, ValueType[] types, double fractionDuplicates ) { RandomValueGenerator valueGenerator = new RandomValueGenerator( random.randomValues(), types, fractionDuplicates ); RandomUpdateGenerator randomUpdateGenerator = new RandomUpdateGenerator( valueGenerator ); //noinspection unchecked IndexEntryUpdate<IndexDescriptor>[] result = new IndexEntryUpdate[N_VALUES]; for ( int i = 0; i < N_VALUES; i++ ) { result[i] = randomUpdateGenerator.next(); } return result; }
@Test public void testIndexRangeSeekByDateTime() throws Exception { testIndexRangeSeek( () -> random.randomValues().nextDateTimeValue() ); }
@Test public void testIndexRangeSeekByLocalDateTime() throws Exception { testIndexRangeSeek( () -> random.randomValues().nextLocalDateTimeValue() ); }
@Test public void testIndexRangeSeekByLocalTimeArray() throws Exception { testIndexRangeSeekArray( () -> random.randomValues().nextLocalTimeArray() ); }
@Test public void testIndexRangeSeekByBooleanArray() throws Exception { testIndexRangeSeekArray( () -> random.randomValues().nextBooleanArray() ); }
@Test public void testIndexRangeSeekByIntArray() throws Exception { testIndexRangeSeekArray( () -> random.randomValues().nextIntArray() ); }
@Test public void testIndexRangeSeekByTime() throws Exception { testIndexRangeSeek( () -> random.randomValues().nextTimeValue() ); }
@Test public void testIndexRangeSeekByDateArray() throws Exception { testIndexRangeSeekArray( () -> random.randomValues().nextDateArray() ); }
@Test public void testIndexRangeSeekByCharArray() throws Exception { testIndexRangeSeekArray( () -> random.randomValues().nextCharArray() ); }
private Value nextRandomValidArrayValue() { Value value; do { value = random.randomValues().nextArray(); // todo remove when spatial is supported by all } while ( !testSuite.supportsSpatial() && Values.isGeometryArray( value ) ); return value; } }
private void put( int count, ValuesMap actualMap, MutableLongObjectMap<Value> expectedMap ) { for ( int i = 0; i < count * 2; i++ ) { final long key = rnd.nextLong( count ); final Value value = rnd.randomValues().nextValue(); actualMap.put( key, value ); expectedMap.put( key, value ); } }
private void remove( int count, ValuesMap actualMap, MutableLongObjectMap<Value> expectedMap ) { for ( int i = 0; i < count / 2; i++ ) { final long key = rnd.nextLong( count ); final Value value = rnd.randomValues().nextValue(); actualMap.put( key, value ); expectedMap.put( key, value ); } }
@Override public InputIterable nodes() { return () -> new RandomNodeGenerator( count, ( state, visitor, id ) -> { String[] keys = random.randomValues().selection( TOKENS, 1, TOKENS.length, false ); for ( String key : keys ) { visitor.property( key, random.nextValueAsObject() ); } visitor.labels( random.selection( TOKENS, 1, TOKENS.length, false ) ); } ); }