public function generateReports(SuiteCollection $collection, array $reportNames)
{
$reportDoms = [];
$reportConfigs = [];
foreach ($reportNames as $reportName) {
$reportConfigs[$reportName] = $this->generatorRegistry->getConfig($reportName);
}
foreach ($reportConfigs as $reportName => $reportConfig) {
$generatorName = $reportConfig['generator'];
$generator = $this->generatorRegistry->getService($generatorName);
$reportDom = $generator->generate($collection, $reportConfig);
if (!$reportDom instanceof Document) {
throw new \RuntimeException(sprintf('Report generator "%s" should have return a PhpBench\\Dom\\Document class, got: "%s"', $generatorName, is_object($reportDom) ? get_class($reportDom) : gettype($reportDom)));
}
$reportDom->schemaValidate(__DIR__ . '/schema/report.xsd');
$reportDoms[] = $reportDom;
}
return $reportDoms;
}