@Test
public void shouldAddLabels() throws Exception
{
ControlledInserter inserter = new ControlledInserter();
long[] expected = new long[NODE_COUNT];
try ( NativeLabelScanWriter writer = new NativeLabelScanWriter( max( 5, NODE_COUNT / 100 ), NativeLabelScanWriter.EMPTY ) )
{
writer.initialize( inserter );
for ( int i = 0; i < NODE_COUNT * 3; i++ )
{
NodeLabelUpdate update = randomUpdate( expected );
writer.write( update );
}
}
for ( int i = 0; i < LABEL_COUNT; i++ )
{
long[] expectedNodeIds = nodesWithLabel( expected, i );
long[] actualNodeIds = asArray( new LabelScanValueIterator( inserter.nodesFor( i ), new ArrayList<>(), NO_ID ) );
assertArrayEquals( "For label " + i, expectedNodeIds, actualNodeIds );
}
}