Passed
Pull Request — master (#69)
by Dave
02:10
created

TextOutputFormatter::outputResults()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 32
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 3
eloc 21
nc 3
nop 2
dl 0
loc 32
rs 9.584
c 1
b 0
f 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DaveLiddament\StaticAnalysisResultsBaseliner\Plugins\OutputFormatters;
6
7
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\OutputFormatter\OutputFormatter;
8
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\OutputFormatter\SummaryStats;
9
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\ResultsParser\AnalysisResults;
10
11
class TextOutputFormatter implements OutputFormatter
12
{
13
    public function outputResults(SummaryStats $summaryStats, AnalysisResults $analysisResults): string
14
    {
15
        $output = <<<EOF
16
Latest issue count: {$summaryStats->getLatestAnalysisResultsCount()}
17
Baseline issue count: {$summaryStats->getBaseLineCount()}
18
Issues count with baseline removed: {$analysisResults->getCount()}
19
EOF;
20
21
        if ($analysisResults->hasNoIssues()) {
22
            return $output;
23
        }
24
25
        $output .= <<<EOF
26
27
28
--------
29
30
31
EOF;
32
33
        foreach ($analysisResults->getAnalysisResults() as $analysisResult) {
34
            $location = $analysisResult->getLocation();
35
36
            $output .= <<<EOF
37
{$location->getFileName()->getFileName()}:{$location->getLineNumber()->getLineNumber()} - {$analysisResult->getType()->getType()}
38
{$analysisResult->getMessage()}
39
40
41
EOF;
42
        }
43
44
        return $output;
45
    }
46
47
    public function getIdentifier(): string
48
    {
49
        return 'text';
50
    }
51
}
52