Completed
Push — master ( 8155ff...9fff48 )
by Changwan
03:00
created

LengthMaxTester::test()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 3

Importance

Changes 0
Metric Value
cc 3
eloc 5
nc 3
nop 1
dl 0
loc 8
ccs 5
cts 5
cp 1
crap 3
rs 9.4285
c 0
b 0
f 0
1
<?php
2
namespace Wandu\Validator\Testers;
3
4
use Wandu\Validator\Contracts\TesterInterface;
5
6
class LengthMaxTester implements TesterInterface
7
{
8
    /** @var int */
9
    protected $max;
10
11
    /**
12
     * @param int $max
13
     */
14 1
    public function __construct($max)
15
    {
16 1
        $this->max = $max;
17 1
    }
18
19
    /**
20
     * {@inheritdoc}
21
     */
22 1
    public function test($data): bool
23
    {
24 1
        if ($data === null) return false;
25 1
        if (is_array($data)) {
26 1
            return count($data) <= $this->max;
27
        }
28 1
        return mb_strlen($data, 'utf-8') <= $this->max;
29
    }
30
}
31