LeafSpecification::and()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace Larium\Specification;
6
7
abstract class LeafSpecification implements Specification
8
{
9
    abstract public function isSatisfiedBy(Candidate $candidate): bool;
10
11 1
    public function and(Specification $other): Specification
12
    {
13 1
        return new AndSpecification($this, $other);
14
    }
15
16 1
    public function andNot(Specification $other): Specification
17
    {
18 1
        return new AndNotSpecification($this, $other);
19
    }
20
21 2
    public function or(Specification $other): Specification
22
    {
23 2
        return new OrSpecification($this, $other);
24
    }
25
26 1
    public function orNot(Specification $other): Specification
27
    {
28 1
        return new OrNotSpecification($this, $other);
29
    }
30
31 1
    public function not(): Specification
32
    {
33 1
        return new NotSpecification($this);
34
    }
35
}
36