protected function prepare(InputInterface $input, OutputInterface $output)
{
$availables = array('text', 'html');
$dispatcher = $this->getApplication()->getDispatcher();
foreach ($availables as $format) {
if (strlen($input->getOption('report-' . $format)) > 0) {
$filename = $input->getOption('report-' . $format);
$class = sprintf('\\Hal\\MutaTesting\\Event\\Subscriber\\Format\\%sSubscriber', ucfirst(strtolower($format)));
if (!class_exists($class)) {
throw new Exception(sprintf('invalid formater "%s" given', $format));
}
$dispatcher->addSubscriber(new $class($input, $output, $filename));
}
}
$dispatcher->addSubscriber(new ConsoleSubscriber($input, $output, null));
}