Completed
Push — master ( 8eec5e...3d8421 )
by Dave
30s queued 12s
created

PhpMagicNumberResultsParserTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 4
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 9
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DaveLiddament\StaticAnalysisResultsBaseliner\Tests\Unit\Plugins\ResultsParsers\PhpMagicNumberDetectorResultsParser;
6
7
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\Common\ProjectRoot;
8
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\ResultsParser\AnalysisResults;
9
use DaveLiddament\StaticAnalysisResultsBaseliner\Plugins\ResultsParsers\PhpMagicNumberDetectorResultsParser\PhpMagicNumberDetectorIdentifier;
10
use DaveLiddament\StaticAnalysisResultsBaseliner\Plugins\ResultsParsers\PhpMagicNumberDetectorResultsParser\PhpMagicNumberDetectorResultsParser;
11
use DaveLiddament\StaticAnalysisResultsBaseliner\Tests\Helpers\AssertFileContentsSameTrait;
12
use DaveLiddament\StaticAnalysisResultsBaseliner\Tests\Helpers\AssertResultMatch;
13
use DaveLiddament\StaticAnalysisResultsBaseliner\Tests\Helpers\ResourceLoaderTrait;
14
use PHPUnit\Framework\TestCase;
15
16
class PhpMagicNumberResultsParserTest extends TestCase
17
{
18
    use AssertFileContentsSameTrait;
19
    use AssertResultMatch;
20
    use ResourceLoaderTrait;
21
22
    /**
23
     * @var AnalysisResults
24
     */
25
    private $analysisResults;
26
27
    /**
28
     * @var PhpMagicNumberDetectorResultsParser
29
     */
30
    private $phpMagicNumberDetectorResultsParser;
31
32
    protected function setUp(): void
33
    {
34
        $projectRoot = ProjectRoot::fromProjectRoot('/vagrant/static-analysis-baseliner', '/home');
35
36
        $this->phpMagicNumberDetectorResultsParser = new PhpMagicNumberDetectorResultsParser();
37
        $original = $this->getResource('phpmnd/phpmnd.txt');
38
39
        // Convert both ways
40
        $this->analysisResults = $this->phpMagicNumberDetectorResultsParser->convertFromString($original, $projectRoot);
41
    }
42
43
    public function testConversion(): void
44
    {
45
        $this->assertCount(3, $this->analysisResults->getAnalysisResults());
46
47
        $result1 = $this->analysisResults->getAnalysisResults()[0];
48
        $result2 = $this->analysisResults->getAnalysisResults()[1];
49
        $result3 = $this->analysisResults->getAnalysisResults()[2];
50
51
        $this->assertMatch($result1,
52
            'src/File1.php',
53
            6,
54
            '123'
55
        );
56
        $this->assertSame(
57
            'Magic number 123',
58
            $result1->getMessage()
59
        );
60
61
        $this->assertMatch($result2,
62
            'src/foo/bar/File 2.php',
63
            11,
64
            '1.7'
65
        );
66
67
        $this->assertMatch($result3,
68
            'tests/MyTest1.php',
69
            16,
70
            '10'
71
        );
72
    }
73
74
    public function testTypeGuesser(): void
75
    {
76
        $this->assertFalse($this->phpMagicNumberDetectorResultsParser->showTypeGuessingWarning());
77
    }
78
79
    public function testGetIdentifier(): void
80
    {
81
        $this->assertEquals(
82
            new PhpMagicNumberDetectorIdentifier(),
83
            $this->phpMagicNumberDetectorResultsParser->getIdentifier()
84
        );
85
    }
86
}
87