private List<HStoreFile> runIteration(List<HStoreFile> startingStoreFiles) throws IOException {
    List<HStoreFile> storeFiles = new ArrayList<>(startingStoreFiles);
    CompactionRequestImpl req =
      cp.selectCompaction(storeFiles, new ArrayList<>(), false, false, false);
    long newFileSize = 0;

    Collection<HStoreFile> filesToCompact = req.getFiles();

    if (!filesToCompact.isEmpty()) {

      storeFiles = new ArrayList<>(storeFiles);
      storeFiles.removeAll(filesToCompact);

      for (HStoreFile storeFile : filesToCompact) {
        newFileSize += storeFile.getReader().length();
      }

      storeFiles.add(createMockStoreFileBytes(newFileSize));
    }

    written += newFileSize;
    return storeFiles;
  }
Test the perf of a CompactionPolicy with settings.
@param cpClass The compaction policy to test
@param inMmax  The maximum number of file to compact
@param inMin   The min number of files to compact
@param inRatio The ratio that files must be under to be compacted.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/PerfTestCompactionPolicies.java