Test Failed
Branch master (5e8424)
by Randy
02:43
created

NumericEnsuranceTest::testIsEqualTo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
use Dgame\Ensurance\Exception\EnsuranceException;
4
use PHPUnit\Framework\TestCase;
5
use function Dgame\Ensurance\ensure;
6
7
class NumericEnsuranceTest extends TestCase
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
8
{
9
    public function testIsInt()
10
    {
11
        ensure(42)->isInt();
12
        ensure('42')->isInt();
13
    }
14
15
    public function testIsFloat()
16
    {
17
        ensure(4.2)->isFloat();
18
        ensure('4.2')->isFloat();
19
    }
20
21
    public function testIsGraterThan()
22
    {
23
        ensure(42)->isNumeric()->isGreaterThan(23);
24
        ensure('42')->isNumeric()->isGreaterThan(23);
25
    }
26
27
    public function tesIsGreaterOrEqualTo()
28
    {
29
        ensure(42)->isNumeric()->isGreaterOrEqualTo(23);
30
        ensure(42)->isNumeric()->isGreaterOrEqualTo(42);
31
32
        ensure('42')->isNumeric()->isGreaterOrEqualTo(23);
33
        ensure('42')->isNumeric()->isGreaterOrEqualTo(42);
34
    }
35
36
    public function testIsLessThan()
37
    {
38
        ensure(23)->isNumeric()->isLessThan(42);
39
        ensure('23')->isNumeric()->isLessThan(42);
40
    }
41
42
    public function testIsLessOrEqualTo()
43
    {
44
        ensure(23)->isNumeric()->isLessOrEqualTo(42);
45
        ensure('23')->isNumeric()->isLessOrEqualTo(23);
46
    }
47
48
    public function testIsPositive()
49
    {
50
        foreach (range(0, 100) as $n) {
51
            ensure($n)->isPositive();
52
        }
53
    }
54
55
    public function testIsNegative()
56
    {
57
        foreach (range(-1, -100) as $n) {
58
            ensure($n)->isNegative();
59
        }
60
    }
61
62
    public function testIsEven()
63
    {
64
        for ($i = 0; $i < 42; $i += 2) {
65
            ensure($i)->isEven();
66
        }
67
    }
68
69
    public function testIsOdd()
70
    {
71
        for ($i = 1; $i < 42; $i += 2) {
72
            ensure($i)->isOdd();
73
        }
74
    }
75
76
    public function testIsEqualTo()
77
    {
78
        ensure(42)->isEqualTo(42);
79
        ensure('42')->isEqualTo(42);
80
    }
81
82
    public function testIsNotEqualTo()
83
    {
84
        ensure(42)->isNotEqualTo(23);
85
        ensure(42)->isNotEqualTo('23');
86
        ensure('42')->isNotEqualTo(23);
87
    }
88
89
    public function testIsBetween()
90
    {
91
        ensure(2)->isNumeric()->isBetween(1, 3);
92
        ensure(50)->isNumeric()->isBetween(1, 100);
93
    }
94
95
    public function testIsNotBetween()
96
    {
97
        ensure(3)->isNumeric()->isNotBetween(1, 2);
98
        ensure(0)->isNumeric()->isNotBetween(1, 100);
99
    }
100
101
    public function testInvalidNumber()
102
    {
103
        $this->expectException(EnsuranceException::class);
104
        $this->expectExceptionMessage('not even');
105
106
        ensure(23)->isNumeric()->orThrow('nothing to see')->isEven()->orThrow('not even');
107
    }
108
}