DataValidatorTest::testValidateWrongDateTime()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 6
rs 9.4285
cc 1
eloc 4
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