Test Failed
Push — master ( 50dc03...2f2ddd )
by Petr
02:45
created

FactoryTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 12
c 0
b 0
f 0
dl 0
loc 33
rs 10
1
<?php
2
3
namespace StorageTests\Database\Dialects;
4
5
6
use CommonTestClass;
7
use kalanis\kw_mapper\MapperException;
8
use kalanis\kw_mapper\Storage\Database\Dialects;
9
10
11
class FactoryTest extends CommonTestClass
12
{
13
    /**
14
     * @throws MapperException
15
     */
16
    public function testFactoryNoClass(): void
17
    {
18
        $factory = Dialects\Factory::getInstance();
19
        $this->expectException(MapperException::class);
20
        $factory->getDialectClass('undefined');
21
    }
22
23
    /**
24
     * @throws MapperException
25
     */
26
    public function testFactoryWrongClass(): void
27
    {
28
        $factory = Dialects\Factory::getInstance();
29
        $this->expectException(MapperException::class);
30
        $factory->getDialectClass('\kalanis\kw_mapper\Adapters\MappedStdClass');
31
    }
32
33
    /**
34
     * @throws MapperException
35
     */
36
    public function testFactoryRun(): void
37
    {
38
        $factory = Dialects\Factory::getInstance();
39
        $className = '\kalanis\kw_mapper\Storage\Database\Dialects\SQLite';
40
        $class = $factory->getDialectClass($className);
41
        $this->assertInstanceOf('\kalanis\kw_mapper\Storage\Database\Dialects\ADialect', $class);
42
        // multiple times - one instance
43
        $this->assertEquals($class, $factory->getDialectClass($className));
44
    }
45
}
46