Equal::run()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 4

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 15
ccs 10
cts 10
cp 1
rs 9.2
cc 4
eloc 10
nc 4
nop 1
crap 4
1
<?php
2
namespace Desmond\functions\core;
3
use Desmond\functions\DesmondFunction;
4
use Desmond\ArgumentHelper;
5
6
class Equal extends DesmondFunction
7
{
8
    use ArgumentHelper;
9
10 334
    public function id()
11
    {
12 334
        return '=';
13
    }
14
15 8
    public function run(array $args)
16
    {
17 8
        if (empty($args)) {
18 1
            return $this->newReturnType('True');
19
        }
20 7
        $last = $args[0];
21 7
        array_shift($args);
22 7
        foreach ($args as $arg) {
23 6
            if ($arg->value() != $last->value()) {
24 5
                return $this->newReturnType('False');
25
            }
26 5
            $last = $arg;
27
        }
28 6
        return $this->newReturnType('True');
29
    }
30
}
31