public function results()
    {
        $out = [''];

        $total    = $this->runner->totalCount;
        $passed   = count($this->runner->passed);
        $failures = count($this->runner->failures);
        $errors   = count($this->runner->errors);
        $skipped  = count($this->runner->skipped);

        $results   = [];
        $results[] = $this->green(self::INDICATOR).' Passes    '.$passed;
        $results[] = $this->red(self::INDICATOR).' Failures  '.$failures;
        $results[] = $this->yellow(self::INDICATOR).' Errors    '.$errors;
        $results[] = $this->magenta(self::INDICATOR).' Skipped   '.$skipped;

        $box = new Box($results, [
            'borderColor' => self::YELLOW,
            'paddingX'    => 1,
        ]);
        $box->setTitle('Results');
        $out[] = $box;

        foreach ($this->runner->failures as $test) {
            $out[] = '';
            $out[] = $this->red('FAILED - '.$test->name);
            $out[] = $test->getFailureMessage();
        }

        foreach ($this->runner->errors as $test) {
            $out[] = '';
            $out[] = $this->yellow('ERROR - '.$test->name);
            $out[] = $test->getErrorMessage();
        }

        $count = $this->green("$passed / $total");
        if ($passed !== $total) {
            $count = $this->red("$passed / $total");
        }
        $out[] = '';
        $out[] = "$count tests passed successfully.";

        echo $this->render(implode("\n", $out));

        if ($this->runner->options->coverage->enable === true) {
            echo "\n";
            echo $this->gray->render('Calculating Coverage...');
            echo "\n";

            $this->runner->coverage->calculate();
            echo $this->runner->coverage->output();
        }

        exit((int) ($passed !== $total));
    }