Passed
Push — master ( de4ed9...5f6eee )
by Petr
10:41
created

FactoryTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 17
c 1
b 0
f 0
dl 0
loc 21
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testFactory() 0 19 1
1
<?php
2
3
namespace ParserTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_input\Interfaces\IEntry;
8
use kalanis\kw_input\Parsers;
9
10
11
class FactoryTest extends CommonTestClass
12
{
13
    public function testFactory(): void
14
    {
15
        $factory = new Parsers\Factory();
16
        $loader1 = $factory->getLoader(IEntry::SOURCE_GET);
17
        $loader2 = $factory->getLoader(IEntry::SOURCE_GET); // intentionally same
18
        $loader3 = $factory->getLoader(IEntry::SOURCE_CLI);
19
        $loader4 = $factory->getLoader(IEntry::SOURCE_FILES);
20
        $loader5 = $factory->getLoader(IEntry::SOURCE_JSON);
21
22
        $this->assertInstanceOf(Parsers\Basic::class, $loader1);
23
        $this->assertInstanceOf(Parsers\Basic::class, $loader2);
24
        $this->assertInstanceOf(Parsers\Files::class, $loader4);
25
        $this->assertInstanceOf(Parsers\Cli::class, $loader3);
26
        $this->assertInstanceOf(Parsers\Json::class, $loader5);
27
        $this->assertEquals($loader1, $loader2);
28
        $this->assertNotEquals($loader3, $loader2);
29
        $this->assertNotEquals($loader3, $loader4);
30
        $this->assertNotEquals($loader2, $loader4);
31
        $this->assertNotEquals($loader2, $loader5);
32
    }
33
}
34