### Question:
PartitionedIndexReader extends AbstractIndexReader { @Override public long countIndexedNodes( long nodeId, int[] propertyKeyIds, Value... propertyValues ) { return indexReaders.parallelStream() .mapToLong( reader -> reader.countIndexedNodes( nodeId, propertyKeyIds, propertyValues ) ) .sum(); } PartitionedIndexReader( List<PartitionSearcher> partitionSearchers,
            IndexDescriptor descriptor,
            IndexSamplingConfig samplingConfig,
            TaskCoordinator taskCoordinator );   PartitionedIndexReader( IndexDescriptor descriptor, List<SimpleIndexReader> readers ); @Override PrimitiveLongResourceIterator query( IndexQuery... predicates ); @Override void query( IndexProgressor.NodeValueClient client, IndexOrder indexOrder, boolean needsValues, IndexQuery... query ); @Override boolean hasFullValuePrecision( IndexQuery... predicates ); @Override void distinctValues( IndexProgressor.NodeValueClient client, NodePropertyAccessor propertyAccessor, boolean needsValues ); @Override long countIndexedNodes( long nodeId, int[] propertyKeyIds, Value... propertyValues ); @Override IndexSampler createSampler(); @Override void close();  }### Answer:
@Test public void countNodesOverPartitions() { PartitionedIndexReader indexReader = createPartitionedReaderFromReaders(); when( indexReader1.countIndexedNodes( 1, new int[] {PROP_KEY}, Values.of( "a" ) ) ).thenReturn( 1L ); when( indexReader2.countIndexedNodes( 1, new int[] {PROP_KEY}, Values.of( "a" ) ) ).thenReturn( 2L ); when( indexReader3.countIndexedNodes( 1, new int[] {PROP_KEY}, Values.of( "a" ) ) ).thenReturn( 3L ); assertEquals( 6, indexReader.countIndexedNodes( 1, new int[] {PROP_KEY}, Values.of( "a" ) ) ); }