Passed
Push — feature/container-extend ( b81097...93c762 )
by Chema
03:26
created

FeatureTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 19
c 1
b 0
f 0
dl 0
loc 40
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A test_extend_service_as_object() 0 5 1
A setUp() 0 21 1
A test_extend_service_from_function() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GacelaTest\Feature\Framework\ExtendService;
6
7
use ArrayObject;
8
use Gacela\Framework\Bootstrap\GacelaConfig;
9
use Gacela\Framework\Gacela;
10
use GacelaTest\Feature\Framework\ExtendService\Module\DependencyProvider;
11
use PHPUnit\Framework\TestCase;
12
13
final class FeatureTest extends TestCase
14
{
15
    private Module\Facade $facade;
16
17
    public function setUp(): void
18
    {
19
        Gacela::bootstrap(__DIR__, static function (GacelaConfig $config): void {
20
            $config->resetInMemoryCache();
21
22
            $config->extendService(
23
                DependencyProvider::ARRAY_AS_OBJECT,
24
                static function (ArrayObject $arrayObject): void {
25
                    $arrayObject->append(3);
26
                }
27
            );
28
29
            $config->extendService(
30
                DependencyProvider::ARRAY_FROM_FUNCTION,
31
                static function (ArrayObject $arrayObject): void {
32
                    $arrayObject->append(4);
33
                }
34
            );
35
        });
36
37
        $this->facade = new Module\Facade();
38
    }
39
40
    public function test_extend_service_as_object(): void
41
    {
42
        self::assertEquals(
43
            new ArrayObject([1, 2, 3]),
44
            $this->facade->getArrayAsObject()
45
        );
46
    }
47
48
    public function test_extend_service_from_function(): void
49
    {
50
        self::assertEquals(
51
            new ArrayObject([1, 2, 4]),
52
            $this->facade->getArrayFromFunction()
53
        );
54
    }
55
}
56