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

ResultAnalyser   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
dl 0
loc 37
rs 10
c 1
b 0
f 0
wmc 8

5 Methods

Rating   Name   Duplication   Size   Complexity  
A withResults() 0 3 2
A append() 0 12 3
A count() 0 3 1
A getResultCollector() 0 3 1
A __construct() 0 3 1
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