Completed
Push — master ( 71f966...a7254e )
by BruceScrutinizer
08:15
created

ResultAnalyser::append()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 6
nc 4
nop 1
dl 0
loc 12
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace NamespaceProtector\Result;
4
5
class ResultAnalyser implements ResultAnalyserInterface
6
{
7
    /** @var ResultCollectorReadable */
8
    private $resultCollectorReadable;
9
10
    public function __construct(ResultCollectorReadable $resultCollectorReadable)
11
    {
12
        $this->resultCollectorReadable = $resultCollectorReadable;
13
    }
14
15
    public function append(ResultAnalyserInterface $toAppendInstance): ResultAnalyserInterface
16
    {
17
        $collector = new ResultCollector();
18
        foreach ($this->getResultCollector()->get() as $item) {
19
            $collector->addResult($item);
20
        }
21
22
        foreach ($toAppendInstance->getResultCollector()->get() as $item) {
23
            $collector->addResult($item);
24
        }
25
26
        return new self(new ResultCollectorReadable($collector));
27
    }
28
29
    public function withResults(): bool
30
    {
31
        return ($this->count()) >= 1 ? true : false;
32
    }
33
34
    public function getResultCollector(): ResultCollectorReadable
35
    {
36
        return $this->resultCollectorReadable;
37
    }
38
39
    public function count(): int
40
    {
41
        return \count($this->resultCollectorReadable->get());
42
    }
43
}
44