Test Failed
Push — master ( 1b7368...050678 )
by Fran
25:16 queued 22:49
created

SingletonTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
dl 0
loc 27
rs 10
c 1
b 0
f 0
wmc 1
1
<?php
2
namespace PSFS\tests\base;
3
4
use PHPUnit\Framework\TestCase;
5
use PSFS\base\Singleton;
6
use PSFS\tests\examples\SingletonClassTest;
7
8
/**
9
 * Class SingletonTest
10
 * @package PSFS\tests\base
11
 */
12
class SingletonTest extends TestCase {
13
14
    /**
15
     * @covers
16
     * @return void
17
     * @throws \ReflectionException
18
     */
19
    public function testCompleteSingletonCases()
20
    {
21
        $exampleClass = SingletonClassTest::getInstance();
22
23
        // Basic instance cases
24
        $this->assertNotNull($exampleClass, 'Error when instance the class');
25
        $this->assertInstanceOf(Singleton::class, $exampleClass, 'Instance not valid');
26
27
        // Singleton pattern cases
28
        $example2 = SingletonClassTest::getInstance();
29
        $this->assertEquals($exampleClass, $example2, 'Singleton pattern not found');
30
31
        // Extended functionality cases
32
        $this->assertEquals('SingletonClassTest', $exampleClass->getShortName(), 'The short name is not equals than expected');
33
        $exampleClass->init();
34
35
        $var = date('Y');
36
        $exampleClass->fieldTest = $var;
37
        $this->assertNotNull($exampleClass->fieldTest, 'Assignation for private var not found');
38
        $this->assertEquals($exampleClass->fieldTest, $var, 'Field has not the same value');
39
40
    }
41
}