testWithoutConfiguration()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 0
1
<?php
2
3
namespace gotakk\ViewModelBundle\Tests\DependencyInjection;
4
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use gotakk\ViewModelBundle\DependencyInjection\gotakkViewModelExtension;
7
use gotakk\ViewModelBundle\Services\ViewModelService;
8
use gotakk\ViewModelBundle\ViewModel\ViewModelNode;
9
10
abstract class AbstractGotakkViewModelExtensionTest extends \PHPUnit_Framework_TestCase
11
{
12
    private $extension;
13
    private $container;
14
15
    protected function setUp()
16
    {
17
        $this->extension = new gotakkViewModelExtension();
18
        $this->container = new ContainerBuilder();
19
        $this->container->registerExtension($this->extension);
20
    }
21
22
    abstract protected function loadConfiguration(ContainerBuilder $container, $resource);
23
24
    public function testWithoutConfiguration()
25
    {
26
        $this->container->loadFromExtension($this->extension->getAlias());
27
        $this->container->compile();
28
29
        $this->assertTrue($this->container->has('gotakk.view_model.service'));
30
    }
31
32
    public function testPluralsConfiguration()
33
    {
34
        $this->loadConfiguration($this->container, 'plurals');
35
        $this->container->compile();
36
37
        $this->assertTrue($this->container->has('gotakk.view_model.service'));
38
        $service = $this->container->get('gotakk.view_model.service');
39
40
        $this->assertEquals(ViewModelNode::getPlurals(), array(
41
            'city' => 'cities',
42
            'mouse' => 'mice',
43
            'dependency' => 'dependencies',
44
            'family' => 'families',
45
        ));
46
47
        $vm = $service->createViewModel();
48
        $vm->addMouse('Mickey');
49
        $vm->addMouse('Jerry');
50
        $vm->addMan('Linus Torvaldis');
51
        $vm->addMan('Edward Snowden');
52
53
        $this->assertEquals($vm->toArray(), array(
54
            'mice' => array(
55
                'Mickey',
56
                'Jerry',
57
            ),
58
            'mans' => array(
59
                'Linus Torvaldis',
60
                'Edward Snowden',
61
            ),
62
        ));
63
    }
64
}
65