Hal\MutaTesting\Runner\Adapter\BaseAdapter::runMutation PHP Method

runMutation() public method

Runs a mutation
public runMutation ( Hal\MutaTesting\Mutation\MutationInterface &$mutation, $options = [], $logFile = null, $prependFile = null, callable $callback = null ) : Hal\MutaTesting\Test\UnitInterface
$mutation Hal\MutaTesting\Mutation\MutationInterface
$callback callable
return Hal\MutaTesting\Test\UnitInterface
    public function runMutation(MutationInterface &$mutation, $options = array(), $logFile = null, $prependFile = null, callable $callback = null)
    {
        if (is_null($prependFile)) {
            $prependFile = $this->createFileSystemMock($mutation);
        }
        if (is_null($logFile)) {
            $logFile = tempnam(sys_get_temp_dir(), 'mutate-junit');
        }
        $self = $this;
        $cb = function () use($mutation, $callback, $logFile, $self) {
            $results = $self->getSuiteResult($logFile);
            $result = $results->getByFile($mutation->getTestFile());
            $mutation->setUnit($result);
            if (is_callable($callback)) {
                $callback($result);
            }
        };
        $this->run($mutation->getTestFile(), array(), $logFile, $prependFile, $cb);
    }