Completed
Pull Request — master (#14)
by Scott
02:44
created

PhanTextTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
<?php
2
namespace exussum12\CoverageChecker\tests;
3
4
use PHPUnit\Framework\TestCase;
5
use exussum12\CoverageChecker\PhanTextLoader;
6
7
class PhanTextTest extends TestCase
8
{
9
    /** @var  PhanTextLoader */
10
    protected $phan;
11
    protected function setUp()
12
    {
13
        parent::setUp();
14
        $this->phan = new PhanTextLoader(__DIR__ . '/fixtures/phan.txt');
15
    }
16
17
    public function testOutput()
18
    {
19
20
        $file1 = 'src/ArgParser.php';
21
        $file2 = 'src/CoverageCheck.php';
22
        $expected = [
23
            $file1 => [
24
                35 => 'Argument 1 (string) is int but \strlen() takes string',
25
            ],
26
            $file2 => [
27
                172 => 'Argument 3 (message) is int but ' .
28
                    '\exussum12\CoverageChecker\CoverageCheck::addUnCoveredLine()' .
29
                    ' takes string defined at ./src/CoverageCheck.php:109'
30
            ],
31
        ];
32
33
        $lines = $this->phan->getLines();
34
35
        $this->assertCount(2, $lines);
36
        $this->assertContains($expected[$file1][35], $lines[$file1][35]);
37
        $this->assertContains($expected[$file2][172], $lines[$file2][172]);
38
39
        $this->assertFalse($this->phan->isValidLine($file1, 35));
40
        $this->assertTrue($this->phan->isValidLine($file1, 30));
41
    }
42
43
    public function testNotFoundFile()
44
    {
45
        $this->assertTrue($this->phan->handleNotFoundFile());
46
    }
47
}
48