public function onMutationsDone(\Hal\MutaTesting\Event\MutationsDoneEvent $event)
{
$text = '';
$found = 0;
$nbMutants = 0;
$diff = new \SebastianBergmann\Diff\Diff();
foreach ($event->getMutations() as $mutation) {
$nbMutants += sizeof($mutation->getMutations());
foreach ($mutation->getMutations() as $mutated) {
$unit = $mutated->getUnit();
if ($unit->getNumOfFailures() == 0 && $unit->getNumOfErrors() == 0) {
$found++;
$text .= PHP_EOL . PHP_EOL;
$text .= sprintf(' Mutation survived in %s', $mutation->getSourceFile());
$text .= "\t" . str_replace(PHP_EOL, PHP_EOL . "\t", $diff->diff($mutation->getTokens()->asString(), $mutated->getTokens()->asString()));
}
}
}
// write file
file_put_contents($this->filename, $text);
$this->output->writeln(sprintf('<info>file "%s" created', $this->filename));
}