testConstructorWithoutNewOperatorRule()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 8
rs 9.4285
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace MS\PHPMD\Tests\Functional\Symfony2;
4
5
use MS\PHPMD\Tests\Functional\AbstractProcessTest;
6
7
/**
8
 * Class ConstructorNewOperatorTest
9
 *
10
 * @package MS\PHPMD\Tests\Functional\Symfony2
11
 */
12
class ConstructorNewOperatorTest extends AbstractProcessTest
13
{
14
    /**
15
     * @covers MS\PHPMD\Rule\Symfony2\ConstructorNewOperator
16
     */
17
    public function testConstructorNewOperatorRule()
18
    {
19
        $output = $this
20
            ->runPhpmd('Service/UserConverter.php', 'symfony2.xml')
21
            ->getOutput();
22
23
        $this->assertContains('Service/UserConverter.php:17	With a new operator in the constructor you have a strong dependency. Make your class flexible and inject the new instance via DI.', $output);
24
        $this->assertNotContains('Service/UserConverter.php:20', $output);
25
        $this->assertNotContains('Service/UserConverter.php:21', $output);
26
        $this->assertNotContains('Service/UserConverter.php:29', $output);
27
    }
28
29
    /**
30
     * @covers MS\PHPMD\Rule\Symfony2\ConstructorNewOperator
31
     */
32
    public function testConstructorWithoutNewOperatorRule()
33
    {
34
        $output = $this
35
            ->runPhpmd('Entity/Foo.php', 'symfony2.xml')
36
            ->getOutput();
37
38
        $this->assertNotContains('Entity/Foo.php:24', $output);
39
    }
40
}
41