Passed
Push — master ( f5d81f...40d5c1 )
by Alexander
01:47
created

AllDependeciesTest.php$1 ➔ test()   A

Complexity

Conditions 1

Size

Total Lines 30

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 30
rs 9.44
cc 1
1
<?php
2
3
namespace Yiisoft\Cache\Tests\Dependency;
4
5
use Yiisoft\Cache\Dependency\AllDependencies;
6
use Yiisoft\Cache\Dependency\CallbackDependency;
7
8
class AllDependeciesTest extends DependencyTestCase
9
{
10
    public function test(): void
11
    {
12
        $data1 = new class() {
13
            public $data = 1;
14
        };
15
16
        $data2 = new class() {
17
            public $data = 2;
18
        };
19
20
        $dependency1 = new CallbackDependency(static function () use ($data1) {
21
            return $data1->data;
22
        });
23
24
        $dependency2 = new CallbackDependency(static function () use ($data2) {
25
            return $data2->data;
26
        });
27
28
        $anyDependency = new AllDependencies([$dependency1, $dependency2]);
29
        $anyDependency->evaluateDependency($this->getCache());
30
31
        $this->assertDependencyNotChanged($anyDependency);
32
33
        $data1->data = 42;
34
35
        $this->assertDependencyNotChanged($anyDependency);
36
37
        $data2->data = 42;
38
39
        $this->assertDependencyChanged($anyDependency);
40
    }
41
}
42