Passed
Push — master ( 913c0a...fd8403 )
by Ondřej
05:45
created

EqualableWithCompareTo   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 0
dl 0
loc 13
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
compareTo() 0 1 ?
A equals() 0 8 2
1
<?php
2
declare(strict_types=1);
3
namespace Ivory\Value\Alg;
4
5
/**
6
 * Implements the {@link IEqualable::equals()} using the {@link IComparable::compareTo()} method.
7
 */
8
trait EqualableWithCompareTo
9
{
10
    abstract public function compareTo($other): ?int;
11
12
    public function equals($other): bool
13
    {
14
        if ($other === null) {
15
            return false;
16
        }
17
18
        return ($this->compareTo($other) == 0);
19
    }
20
}
21