Passed
Push — master ( 7bc6a4...bace86 )
by Dmitriy
06:54 queued 04:27
created

AbstractCollectorTestCase   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 34
rs 10
c 0
b 0
f 0
wmc 5

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testCollect() 0 17 3
A checkCollectedData() 0 3 1
A checkSummaryData() 0 3 1
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
    abstract protected function getCollector(): CollectorInterface;
34
35
    abstract protected function collectTestData(CollectorInterface $collector): void;
36
37
    protected function checkCollectedData(array $data): void
38
    {
39
        $this->assertNotEmpty($data);
40
    }
41
42
    protected function checkSummaryData(array $data): void
43
    {
44
        $this->assertNotEmpty($data);
45
    }
46
}
47