private void testBlackBoxCombination(List<File> inputFiles, FrameworkCombination combination) throws Exception {
ChunkIndex chunkIndex = deduplicateAndCreateChunkIndex(inputFiles, combination);
Map<ChunkChecksum, File> extractedChunkIDToChunkFile = extractChunksFromMultiChunks(chunkIndex.outputMultiChunkFiles, combination);
Map<File, File> inputFilesToReassembledOutputFiles = reassembleFiles(chunkIndex.inputFileToChunkIDs, extractedChunkIDToChunkFile);
for (Map.Entry<File, File> inputFilesToReassembledOutputFilesEntry : inputFilesToReassembledOutputFiles.entrySet()) {
File inputFile = inputFilesToReassembledOutputFilesEntry.getKey();
File outputFile = inputFilesToReassembledOutputFilesEntry.getValue();
byte[] inputFileChecksum = TestFileUtil.createChecksum(inputFile);
byte[] outputFileChecksum = TestFileUtil.createChecksum(outputFile);
assertArrayEquals("Input file and output file checksums do not match" +
"for files " + inputFile + " and " + outputFile, inputFileChecksum, outputFileChecksum);
}
}