Code Duplication    Length = 18-18 lines in 4 locations

src/AndNotSpecification.php 1 location

@@ 7-24 (lines=18) @@
4
5
namespace Larium\Specification;
6
7
class AndNotSpecification extends LeafSpecification
8
{
9
    private $left;
10
11
    private $right;
12
13
    public function __construct(Specification $left, Specification $right)
14
    {
15
        $this->left = $left;
16
        $this->right = $right;
17
    }
18
19
    public function isSatisfiedBy(Candidate $candidate): bool
20
    {
21
        return $this->left->isSatisfiedBy($candidate)
22
            && $this->right->isSatisfiedBy($candidate) !== true;
23
    }
24
}
25

src/AndSpecification.php 1 location

@@ 7-24 (lines=18) @@
4
5
namespace Larium\Specification;
6
7
class AndSpecification extends LeafSpecification
8
{
9
    private $left;
10
11
    private $right;
12
13
    public function __construct(Specification $left, Specification $right)
14
    {
15
        $this->left = $left;
16
        $this->right = $right;
17
    }
18
19
    public function isSatisfiedBy(Candidate $candidate): bool
20
    {
21
        return $this->left->isSatisfiedBy($candidate)
22
            && $this->right->isSatisfiedBy($candidate);
23
    }
24
}
25

src/OrNotSpecification.php 1 location

@@ 7-24 (lines=18) @@
4
5
namespace Larium\Specification;
6
7
class OrNotSpecification extends LeafSpecification
8
{
9
    private $left;
10
11
    private $right;
12
13
    public function __construct(Specification $left, Specification $right)
14
    {
15
        $this->left = $left;
16
        $this->right = $right;
17
    }
18
19
    public function isSatisfiedBy(Candidate $candidate): bool
20
    {
21
        return $this->left->isSatisfiedBy($candidate)
22
            || $this->right->isSatisfiedBy($candidate) != true;
23
    }
24
}
25

src/OrSpecification.php 1 location

@@ 7-24 (lines=18) @@
4
5
namespace Larium\Specification;
6
7
class OrSpecification extends LeafSpecification
8
{
9
    private $left;
10
11
    private $right;
12
13
    public function __construct(Specification $left, Specification $right)
14
    {
15
        $this->left = $left;
16
        $this->right = $right;
17
    }
18
19
    public function isSatisfiedBy(Candidate $candidate): bool
20
    {
21
        return $this->left->isSatisfiedBy($candidate)
22
            || $this->right->isSatisfiedBy($candidate);
23
    }
24
}
25