/** * Convert primitive set into a plain old java {@link Set}, boxing each long. * * @param set {@link LongSet} set of primitive values. * @return a {@link Set} containing all items. */ public static Set<Long> toSet( LongSet set ) { return toSet( set.longIterator() ); }
private void assertEntityIdHits( long[] expected, LongIterator result ) { long[] actual = PrimitiveLongCollections.asArray( result ); assertSameContent( expected, actual ); }
@Test public void appendSourceElementsDuringIteration() { LongIterator source = iterator( 4L, 5L ); LongSet added = LongHashSet.newSetWith( 1L, 2L ); LongSet removed = LongHashSet.newSetWith( 3L ); LongIterator iterator = DiffApplyingPrimitiveLongIterator.augment( source, added, removed ); Set<Long> resultSet = toSet( iterator ); assertThat( resultSet, containsInAnyOrder(1L, 2L, 4L, 5L) ); }
public static PrimitiveLongResourceIterator iterator( Resource resource, final long... items ) { return resourceIterator( PrimitiveLongCollections.iterator( items ), resource ); }
private void send() { totalProcessingTime.add( nanoTime() - time ); sendDownstream( iterator( batch ) ); time = nanoTime(); assertHealthy(); highId = batch[cursor - 1]; }
@Test public void rangeSeekByNumberOverPartitions() throws Exception { PartitionedIndexReader indexReader = createPartitionedReaderFromReaders(); IndexQuery.RangePredicate<?> query = IndexQuery.range( 1, 1, true, 2, true ); when( indexReader1.query( query ) ).thenReturn( PrimitiveLongResourceCollections.iterator( null, 1 ) ); when( indexReader2.query( query ) ).thenReturn( PrimitiveLongResourceCollections.iterator( null, 2 ) ); when( indexReader3.query( query ) ).thenReturn( PrimitiveLongResourceCollections.iterator( null, 3 ) ); LongSet results = PrimitiveLongCollections.asSet( indexReader.query( query ) ); verifyResult( results ); }
@Test void indexOf() { // GIVEN Supplier<LongIterator> items = () -> PrimitiveLongCollections.iterator( 10, 20, 30 ); // THEN assertEquals( -1, PrimitiveLongCollections.indexOf( items.get(), 55 ) ); assertEquals( 0, PrimitiveLongCollections.indexOf( items.get(), 10 ) ); assertEquals( 1, PrimitiveLongCollections.indexOf( items.get(), 20 ) ); assertEquals( 2, PrimitiveLongCollections.indexOf( items.get(), 30 ) ); }
@Test public void shouldHandleLargeAmountsOfDuplicateNodeIds() { // GIVEN IdMapper mapper = mapper( new LongEncoder(), Radix.LONG, NO_MONITOR ); long nodeId = 0; int high = 10; // a list of input ids List<Object> ids = new ArrayList<>(); for ( int run = 0; run < 2; run++ ) { for ( long i = 0; i < high / 2; i++ ) { ids.add( high - (i + 1) ); ids.add( i ); } } // fed to the IdMapper for ( Object inputId : ids ) { mapper.put( inputId, nodeId++, GLOBAL ); } // WHEN Collector collector = mock( Collector.class ); mapper.prepare( values( ids.toArray() ), collector, NONE ); // THEN verify( collector, times( high ) ).collectDuplicateNode( any( Object.class ), anyLong(), anyString() ); assertEquals( high, count( mapper.leftOverDuplicateNodesIds() ) ); }
private LongSet removed( TransactionState txState, LongSet removedFromIndex ) { return mergeToSet( txState.addedAndRemovedNodes().getRemoved(), removedFromIndex ); }
public static LongIterator concat( LongIterator... longIterators ) { return concat( Arrays.asList( longIterators ) ); }
static long[] sortAndDeduplicate( long[] labels ) { if ( ArrayUtils.isNotEmpty( labels ) ) { sort( labels ); return PrimitiveLongCollections.deduplicate( labels ); } return labels; }
return PrimitiveLongCollections.filter( indexedNodeIds, combinedPredicate );
@Test public void closeResource() { Resource resource = Mockito.mock( Resource.class ); PrimitiveLongResourceIterator source = resourceIterator( ImmutableEmptyLongIterator.INSTANCE, resource ); PrimitiveLongResourceIterator iterator = DiffApplyingPrimitiveLongIterator.augment( source, LongSets.immutable.empty(), LongSets.immutable.empty() ); iterator.close(); Mockito.verify( resource ).close(); } }
@Test public void doNotIterateTwiceOverSameElementsWhenItsPartOfSourceAndAdded() { LongIterator source = iterator( 4L, 5L ); LongSet added = LongHashSet.newSetWith( 1L, 4L ); LongSet removed = LongHashSet.newSetWith( 3L ); LongIterator iterator = DiffApplyingPrimitiveLongIterator.augment( source, added, removed ); Long[] values = ArrayUtils.toObject( asArray( iterator ) ); assertThat( values, arrayContainingInAnyOrder( 1L, 4L, 5L ) ); assertThat( values, arrayWithSize( 3 ) ); }
@Test void arrayOfItemsAsIterator() { // GIVEN long[] items = new long[] { 2, 5, 234 }; // WHEN LongIterator iterator = PrimitiveLongCollections.iterator( items ); // THEN assertItems( iterator, items ); }
public static PrimitiveLongResourceIterator iterator( Resource resource, final long... items ) { return resourceIterator( PrimitiveLongCollections.iterator( items ), resource ); }