FloatAttributeTest   A
last analyzed

Complexity

Total Complexity 12

Size/Duplication

Total Lines 116
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 12
lcom 1
cbo 3
dl 0
loc 116
rs 10
c 1
b 1
f 0

12 Methods

Rating   Name   Duplication   Size   Complexity  
A getValidator() 0 6 1
A itShouldCheckItIsFloat() 0 5 1
A itShouldCheckItIsNotZero() 0 5 1
A itShouldCheckItIsPositive() 0 6 1
A itShouldCheckItIsPositiveOrZero() 0 6 1
A itShouldCheckItIsNegative() 0 6 1
A itShouldCheckItIsNegativeOrZero() 0 6 1
A itShouldCheckItIsBetween() 0 6 1
A itShouldCheckIsBetweenException() 0 5 1
A itShouldCheckIsOdd() 0 5 1
A itShouldCheckIsEven() 0 5 1
A itShouldCheckIsMultiple() 0 5 1
1
<?php
2
/**
3
 * Author: Nil Portugués Calderó <[email protected]>
4
 * Date: 9/18/14
5
 * Time: 8:47 PM
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
11
namespace Tests\NilPortugues\Validator\Attribute\Numeric;
12
13
use NilPortugues\Validator\Validator;
14
15
/**
16
 * Class FloatValidationTest
17
 * @package Tests\NilPortugues\Validator\Attribute\Numeric
18
 */
19
class FloatAttributeTest extends \PHPUnit_Framework_TestCase
20
{
21
    /**
22
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
23
     */
24
    protected function getValidator()
25
    {
26
        $validator = Validator::create();
27
28
        return $validator->isFloat('propertyName');
29
    }
30
31
    /**
32
     * @test
33
     */
34
    public function itShouldCheckItIsFloat()
35
    {
36
        $this->assertTrue($this->getValidator()->validate(1.10));
37
        $this->assertFalse($this->getValidator()->validate('a'));
38
    }
39
40
    /**
41
     * @test
42
     */
43
    public function itShouldCheckItIsNotZero()
44
    {
45
        $this->assertTrue($this->getValidator()->isNotZero()->validate(1.10));
46
        $this->assertFalse($this->getValidator()->isNotZero()->validate(0.0));
47
    }
48
49
    /**
50
     * @test
51
     */
52
    public function itShouldCheckItIsPositive()
53
    {
54
        $this->assertTrue($this->getValidator()->isPositive()->validate(1.10));
55
        $this->assertFalse($this->getValidator()->isPositive()->validate(-10));
56
        $this->assertFalse($this->getValidator()->isPositive()->validate(0.0));
57
    }
58
59
    /**
60
     * @test
61
     */
62
    public function itShouldCheckItIsPositiveOrZero()
63
    {
64
        $this->assertTrue($this->getValidator()->isPositiveOrZero()->validate(1.10));
65
        $this->assertTrue($this->getValidator()->isPositiveOrZero()->validate(0.0));
66
        $this->assertFalse($this->getValidator()->isPositiveOrZero()->validate(-10));
67
    }
68
69
    /**
70
     * @test
71
     */
72
    public function itShouldCheckItIsNegative()
73
    {
74
        $this->assertTrue($this->getValidator()->isNegative()->validate(-10.10));
75
        $this->assertFalse($this->getValidator()->isNegative()->validate(1.10));
76
        $this->assertFalse($this->getValidator()->isNegative()->validate(0.0));
77
    }
78
79
    /**
80
     * @test
81
     */
82
    public function itShouldCheckItIsNegativeOrZero()
83
    {
84
        $this->assertTrue($this->getValidator()->isNegativeOrZero()->validate(-10.10));
85
        $this->assertTrue($this->getValidator()->isNegativeOrZero()->validate(0.0));
86
        $this->assertFalse($this->getValidator()->isNegativeOrZero()->validate(1.10));
87
    }
88
89
    /**
90
     * @test
91
     */
92
    public function itShouldCheckItIsBetween()
93
    {
94
        $this->assertTrue($this->getValidator()->isBetween(10.10, 20.10, false)->validate(13.10));
95
96
        $this->assertTrue($this->getValidator()->isBetween(10.10, 20.10, true)->validate(10.10));
97
    }
98
99
    /**
100
     * @test
101
     */
102
    public function itShouldCheckIsBetweenException()
103
    {
104
        $this->setExpectedException('\InvalidArgumentException');
105
        $this->getValidator()->isBetween(20.10, 10.10, false)->validate(13.10);
106
    }
107
108
    /**
109
     * @test
110
     */
111
    public function itShouldCheckIsOdd()
112
    {
113
        $this->assertTrue($this->getValidator()->isOdd()->validate(3.1));
114
        $this->assertFalse($this->getValidator()->isOdd()->validate(2.1));
115
    }
116
117
    /**
118
     * @test
119
     */
120
    public function itShouldCheckIsEven()
121
    {
122
        $this->assertTrue($this->getValidator()->isEven()->validate(2.1));
123
        $this->assertFalse($this->getValidator()->isEven()->validate(3.1));
124
    }
125
126
    /**
127
     * @test
128
     */
129
    public function itShouldCheckIsMultiple()
130
    {
131
        $this->assertTrue($this->getValidator()->isMultiple(2.50)->validate(5.00));
132
        $this->assertFalse($this->getValidator()->isMultiple(2)->validate(5.5));
133
    }
134
}
135