RouterTraitTest::testRegisterRouter()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 0
dl 0
loc 16
rs 9.9332
c 0
b 0
f 0
1
<?php
2
3
namespace Nip\Router\Tests\ServiceProvider\Traits;
4
5
use Nip\Container\Container;
6
use Nip\Router\Generator\CompiledUrlGenerator;
7
use Nip\Router\Router;
8
use Nip\Router\RouterServiceProvider;
9
use Nip\Router\Tests\AbstractTest;
10
use Nip\Router\Tests\Fixtures\Application\Library\Application;
11
use Nip\Router\Tests\Fixtures\Application\Library\Router\CustomRouter;
12
use Symfony\Component\Routing\RouterInterface;
13
14
/**
15
 * Class RouterServiceProviderTest
16
 * @package Nip\Router\Tests\ServiceProvider\Traits
17
 */
18
class RouterTraitTest extends AbstractTest
19
{
20
    public function testRegisterRouter()
21
    {
22
        $container = new Container();
23
        $container->set('app', new Application());
24
25
        $provider = new RouterServiceProvider();
26
        $provider->setContainer($container);
27
        $provider->register();
28
29
        /** @var Router $router */
30
        $router = $container->get('router');
31
        self::assertInstanceOf(Router::class, $router);
32
33
        $generator = $router->getGenerator();
34
        self::assertInstanceOf(CompiledUrlGenerator::class, $generator);
35
        self::assertTrue($generator->hasRoute('default.standard'));
36
    }
37
38
    public function testRegisterCustomRouter()
39
    {
40
        $container = new Container();
41
        $container->set('app', new Application());
42
43
        $provider = new RouterServiceProvider();
44
        $provider->setContainer($container);
45
        $provider->register();
46
47
        $container->add(RouterInterface::class, CustomRouter::class);
48
49
        self::assertInstanceOf(CustomRouter::class, $container->get('router'));
50
    }
51
}
52