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

FeatureTest::test_extend_service_from_function()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 5
rs 10
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