DataValidatorTest::testValidateFloat()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 16

Duplication

Lines 18
Ratio 100 %
Metric Value
dl 18
loc 18
rs 9.4285
cc 1
eloc 16
nc 1
nop 0
1
<?php
2
namespace Ajir\RabbitMqSqlBundle\Tests\DataValidator;
3
4
use DateTime;
5
use PHPUnit_Framework_TestCase;
6
use Ajir\RabbitMqSqlBundle\DataValidator\DataValidator;
7
8
/**
9
 * Class DataValidatorTest
10
 *
11
 * @author Florian Ajir <[email protected]>
12
 */
13
class DataValidatorTest extends PHPUnit_Framework_TestCase
14
{
15
16
    /**
17
     *
18
     */
19
    public function testValidateCorrectDateTime()
20
    {
21
        $Validator = new DataValidator();
22
        $valid = $Validator->validateDate('2015-06-26T22:22:00+0200', DateTime::ISO8601);
23
        $this->assertTrue($valid);
24
    }
25
26
    /**
27
     *
28
     */
29
    public function testValidateWrongDateTime()
30
    {
31
        $Validator = new DataValidator();
32
        $valid = $Validator->validateDate('2015-06-26T22:22:00+02:00', DateTime::ISO8601);
33
        $this->assertFalse($valid);
34
    }
35
36
    /**
37
     *
38
     */
39
    public function testValidateCorrectDate()
40
    {
41
        $Validator = new DataValidator();
42
        $valid = $Validator->validateDate('2015-06-26', 'Y-m-d');
43
        $this->assertTrue($valid);
44
    }
45
46
    /**
47
     *
48
     */
49
    public function testValidateWrongDate()
50
    {
51
        $Validator = new DataValidator();
52
        $valid = $Validator->validateDate('23/06/2015', 'Y-m-d');
53
        $this->assertFalse($valid);
54
    }
55
56
    /**
57
     *
58
     */
59
    public function testValidateCorrectLength()
60
    {
61
        $Validator = new DataValidator();
62
        $valid = $Validator->validateLength('0123456789', 20);
63
        $this->assertTrue($valid);
64
    }
65
66
    /**
67
     *
68
     */
69
    public function testValidateWrongLength()
70
    {
71
        $Validator = new DataValidator();
72
        $valid = $Validator->validateLength('0123456789', 5);
73
        $this->assertFalse($valid);
74
    }
75
76
    /**
77
     *
78
     */
79
    public function testValidateInt()
80
    {
81
        $Validator = new DataValidator();
82
        $valid = $Validator->validateType(123456789, DataValidator::DATA_TYPE_INTEGER);
83
        $this->assertTrue($valid);
84
        $valid = $Validator->validateType('123456789', DataValidator::DATA_TYPE_INTEGER);
85
        $this->assertTrue($valid);
86
        $valid = $Validator->validateType('azerty', DataValidator::DATA_TYPE_INTEGER);
87
        $this->assertFalse($valid);
88
        $valid = $Validator->validateType('12345.6789', DataValidator::DATA_TYPE_INTEGER);
89
        $this->assertFalse($valid);
90
    }
91
92
    /**
93
     *
94
     */
95 View Code Duplication
    public function testValidateFloat()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
96
    {
97
        $Validator = new DataValidator();
98
        $valid = $Validator->validateType(123456789, DataValidator::DATA_TYPE_DECIMAL);
99
        $this->assertTrue($valid);
100
        $valid = $Validator->validateType('123456789', DataValidator::DATA_TYPE_DECIMAL);
101
        $this->assertTrue($valid);
102
        $valid = $Validator->validateType(123456.789, DataValidator::DATA_TYPE_DECIMAL);
103
        $this->assertTrue($valid);
104
        $valid = $Validator->validateType(1e7, DataValidator::DATA_TYPE_DECIMAL);
105
        $this->assertTrue($valid);
106
        $valid = $Validator->validateType('123456.789', DataValidator::DATA_TYPE_DECIMAL);
107
        $this->assertTrue($valid);
108
        $valid = $Validator->validateType('azerty', DataValidator::DATA_TYPE_DECIMAL);
109
        $this->assertFalse($valid);
110
        $valid = $Validator->validateType('12345,6789', DataValidator::DATA_TYPE_DECIMAL);
111
        $this->assertFalse($valid);
112
    }
113
114
    /**
115
     *
116
     */
117 View Code Duplication
    public function testValidateString()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
118
    {
119
        $Validator = new DataValidator();
120
        $valid = $Validator->validateType(123456789, DataValidator::DATA_TYPE_STRING);
121
        $this->assertFalse($valid);
122
        $valid = $Validator->validateType('123456789', DataValidator::DATA_TYPE_STRING);
123
        $this->assertTrue($valid);
124
        $valid = $Validator->validateType(123456.789, DataValidator::DATA_TYPE_STRING);
125
        $this->assertFalse($valid);
126
        $valid = $Validator->validateType(1e7, DataValidator::DATA_TYPE_STRING);
127
        $this->assertFalse($valid);
128
        $valid = $Validator->validateType('123456.789', DataValidator::DATA_TYPE_STRING);
129
        $this->assertTrue($valid);
130
        $valid = $Validator->validateType('azerty', DataValidator::DATA_TYPE_STRING);
131
        $this->assertTrue($valid);
132
        $valid = $Validator->validateType('12345,6789', DataValidator::DATA_TYPE_STRING);
133
        $this->assertTrue($valid);
134
    }
135
136
    /**
137
     *
138
     */
139
    public function testValidateNullValues()
140
    {
141
        $Validator = new DataValidator();
142
        $valid = $Validator->validateType(null, DataValidator::DATA_TYPE_STRING);
143
        $this->assertTrue($valid);
144
        $valid = $Validator->validateType(null, DataValidator::DATA_TYPE_DATE);
145
        $this->assertTrue($valid);
146
        $valid = $Validator->validateType(null, DataValidator::DATA_TYPE_DATETIME);
147
        $this->assertTrue($valid);
148
        $valid = $Validator->validateType(null, DataValidator::DATA_TYPE_DECIMAL);
149
        $this->assertTrue($valid);
150
        $valid = $Validator->validateType(null, DataValidator::DATA_TYPE_INTEGER);
151
        $this->assertTrue($valid);
152
        $valid = $Validator->validateType(null, null);
153
        $this->assertTrue($valid);
154
    }
155
}
156