Passed
Push — master ( 71ac2a...8d79cc )
by Dmitriy
02:35
created

AbstractCollectorTestCase::testInactiveCollector()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 0
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Yii\Debug\Tests\Shared;
6
7
use PHPUnit\Framework\TestCase;
8
use Yiisoft\Yii\Debug\Collector\CollectorInterface;
9
use Yiisoft\Yii\Debug\Collector\SummaryCollectorInterface;
10
11
abstract class AbstractCollectorTestCase extends TestCase
12
{
13
    public function testCollect(): void
14
    {
15
        $summaryData = null;
16
        $collector = $this->getCollector();
17
18
        $collector->startup();
19
        $this->collectTestData($collector);
20
        $data = $collector->getCollected();
21
        if ($collector instanceof SummaryCollectorInterface) {
22
            $summaryData = $collector->getSummary();
23
        }
24
        $collector->shutdown();
25
26
        $this->assertSame($collector::class, $collector->getName());
27
        $this->checkCollectedData($data);
28
        if ($collector instanceof SummaryCollectorInterface) {
29
            $this->checkSummaryData($summaryData);
0 ignored issues
show
Bug introduced by
It seems like $summaryData can also be of type null; however, parameter $data of Yiisoft\Yii\Debug\Tests\...ase::checkSummaryData() does only seem to accept array, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

29
            $this->checkSummaryData(/** @scrutinizer ignore-type */ $summaryData);
Loading history...
30
        }
31
    }
32
33
    public function testEmptyCollector(): void
34
    {
35
        $collector = $this->getCollector();
36
37
        $this->assertEquals([], $collector->getCollected());
38
        if ($collector instanceof SummaryCollectorInterface) {
39
            $this->assertEquals([], $collector->getSummary());
40
        }
41
    }
42
43
    public function testInactiveCollector(): void
44
    {
45
        $collector = $this->getCollector();
46
47
        $this->collectTestData($collector);
48
49
        $this->assertEquals([], $collector->getCollected());
50
        if ($collector instanceof SummaryCollectorInterface) {
51
            $this->assertEquals([], $collector->getSummary());
52
        }
53
    }
54
55
    abstract protected function getCollector(): CollectorInterface;
56
57
    abstract protected function collectTestData(CollectorInterface $collector): void;
58
59
    protected function checkCollectedData(array $data): void
60
    {
61
        $this->assertNotEmpty($data);
62
    }
63
64
    protected function checkSummaryData(array $data): void
65
    {
66
        $this->assertNotEmpty($data);
67
    }
68
}
69