Hal\MutaTesting\Event\Subscriber\Format\TextSubscriber::onMutationsDone PHP Method

onMutationsDone() public method

public onMutationsDone ( MutationsDoneEvent $event )
$event Hal\MutaTesting\Event\MutationsDoneEvent
    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));
    }