Completed
Push — master ( 3bca0f...4b95a7 )
by Tomáš
05:03 queued 02:28
created

TurnOnAutowireCompilerPassTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 2
c 2
b 0
f 1
lcom 1
cbo 6
dl 0
loc 20
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testProcess() 0 12 1
A createDefinitionAnalyzer() 0 4 1
1
<?php
2
3
namespace Symplify\DefaultAutowire\Tests\DependencyInjection\Compiler;
4
5
use PHPUnit\Framework\TestCase;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Definition;
8
use Symplify\DefaultAutowire\DependencyInjection\Compiler\TurnOnAutowireCompilerPass;
9
use Symplify\DefaultAutowire\DependencyInjection\Definition\DefinitionAnalyzer;
10
use Symplify\DefaultAutowire\DependencyInjection\Definition\DefinitionValidator;
11
use Symplify\DefaultAutowire\Tests\Source\SomeAutowiredService;
12
13
final class TurnOnAutowireCompilerPassTest extends TestCase
14
{
15
    public function testProcess()
16
    {
17
        $containerBuilder = new ContainerBuilder();
18
        $autowiredDefinition = new Definition(SomeAutowiredService::class);
19
20
        $containerBuilder->setDefinition('some_autowired_service', $autowiredDefinition);
21
        $this->assertFalse($autowiredDefinition->isAutowired());
22
23
        $turnOnAutowireCompilerPass = new TurnOnAutowireCompilerPass($this->createDefinitionAnalyzer());
24
        $turnOnAutowireCompilerPass->process($containerBuilder);
25
        $this->assertTrue($autowiredDefinition->isAutowired());
26
    }
27
28
    private function createDefinitionAnalyzer() : DefinitionAnalyzer
29
    {
30
        return new DefinitionAnalyzer(new DefinitionValidator());
31
    }
32
}
33