Completed
Push — master ( 379576...3184a2 )
by Roman
02:29
created

NumberNotGreaterStrictlyException::__construct()   B

Complexity

Conditions 6
Paths 4

Size

Total Lines 19
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 15
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 19
ccs 15
cts 15
cp 1
rs 8.8571
cc 6
eloc 13
nc 4
nop 3
crap 6
1
<?php
2
/**
3
 * @link      https://github.com/ko-ko-ko/php-assert
4
 * @copyright Copyright (c) 2015 Roman Levishchenko <[email protected]>
5
 * @license   https://raw.github.com/ko-ko-ko/php-assert/master/LICENSE
6
 */
7
8
namespace KoKoKo\assert\exceptions;
9
10
class NumberNotGreaterStrictlyException extends ArgumentException
11
{
12
    /**
13
     * @param string    $variableName
14
     * @param int|float $variableValue
15
     * @param int|float $number
16
     * @throws InvalidIntOrFloatException
17
     * @throws InvalidStringException
18
     */
19 5
    public function __construct($variableName, $variableValue, $number)
20
    {
21 5
        if (!is_string($variableName)) {
22 1
            throw new InvalidStringException('variableName', $variableName);
23 4
        } elseif (!is_int($variableValue) && !is_float($variableValue)) {
24 1
            throw new InvalidIntOrFloatException('variableValue', $variableValue);
25 4
        } elseif (!is_int($number) && !is_float($number)) {
26 1
            throw new InvalidIntOrFloatException('number', $number);
27
        }
28
29 4
        parent::__construct(
30 4
            sprintf(
31 4
                'Variable "$%s" must be strictly greater than "%s", actual value: "%s"',
32 4
                $variableName,
33 4
                (string) $number,
34
                (string) $variableValue
35 4
            )
36 4
        );
37
    }
38
}