Code Duplication    Length = 11-11 lines in 11 locations

tests/Doctrine/Tests/ORM/Functional/QueryDqlFunctionTest.php 11 locations

@@ 64-74 (lines=11) @@
61
        $this->assertEquals(4, $managerCount['managers']);
62
    }
63
64
    public function testFunctionAbs()
65
    {
66
        $result = $this->_em->createQuery('SELECT m, ABS(m.salary * -1) AS abs FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
67
                         ->getResult();
68
69
        $this->assertEquals(4, count($result));
70
        $this->assertEquals(100000, $result[0]['abs']);
71
        $this->assertEquals(200000, $result[1]['abs']);
72
        $this->assertEquals(400000, $result[2]['abs']);
73
        $this->assertEquals(800000, $result[3]['abs']);
74
    }
75
76
    public function testFunctionConcat()
77
    {
@@ 76-86 (lines=11) @@
73
        $this->assertEquals(800000, $result[3]['abs']);
74
    }
75
76
    public function testFunctionConcat()
77
    {
78
        $arg = $this->_em->createQuery('SELECT m, CONCAT(m.name, m.department) AS namedep FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
79
                         ->getArrayResult();
80
81
        $this->assertEquals(4, count($arg));
82
        $this->assertEquals('Roman B.IT', $arg[0]['namedep']);
83
        $this->assertEquals('Benjamin E.HR', $arg[1]['namedep']);
84
        $this->assertEquals('Guilherme B.Complaint Department', $arg[2]['namedep']);
85
        $this->assertEquals('Jonathan W.Administration', $arg[3]['namedep']);
86
    }
87
88
    public function testFunctionLength()
89
    {
@@ 88-98 (lines=11) @@
85
        $this->assertEquals('Jonathan W.Administration', $arg[3]['namedep']);
86
    }
87
88
    public function testFunctionLength()
89
    {
90
        $result = $this->_em->createQuery('SELECT m, LENGTH(CONCAT(m.name, m.department)) AS namedeplength FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
91
                         ->getArrayResult();
92
93
        $this->assertEquals(4, count($result));
94
        $this->assertEquals(10, $result[0]['namedeplength']);
95
        $this->assertEquals(13, $result[1]['namedeplength']);
96
        $this->assertEquals(32, $result[2]['namedeplength']);
97
        $this->assertEquals(25, $result[3]['namedeplength']);
98
    }
99
100
    public function testFunctionLocate()
101
    {
@@ 119-129 (lines=11) @@
116
        $this->assertEquals(0, $result[3]['loc2']);
117
    }
118
119
    public function testFunctionLower()
120
    {
121
        $result = $this->_em->createQuery("SELECT m, LOWER(m.name) AS lowername FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC")
122
                         ->getArrayResult();
123
124
        $this->assertEquals(4, count($result));
125
        $this->assertEquals('roman b.', $result[0]['lowername']);
126
        $this->assertEquals('benjamin e.', $result[1]['lowername']);
127
        $this->assertEquals('guilherme b.', $result[2]['lowername']);
128
        $this->assertEquals('jonathan w.', $result[3]['lowername']);
129
    }
130
131
    public function testFunctionMod()
132
    {
@@ 131-141 (lines=11) @@
128
        $this->assertEquals('jonathan w.', $result[3]['lowername']);
129
    }
130
131
    public function testFunctionMod()
132
    {
133
        $result = $this->_em->createQuery("SELECT m, MOD(m.salary, 3500) AS amod FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC")
134
                         ->getArrayResult();
135
136
        $this->assertEquals(4, count($result));
137
        $this->assertEquals(2000, $result[0]['amod']);
138
        $this->assertEquals(500, $result[1]['amod']);
139
        $this->assertEquals(1000, $result[2]['amod']);
140
        $this->assertEquals(2000, $result[3]['amod']);
141
    }
142
143
    public function testFunctionSqrt()
144
    {
@@ 155-165 (lines=11) @@
152
        $this->assertEquals(894, round($result[3]['sqrtsalary']));
153
    }
154
155
    public function testFunctionUpper()
156
    {
157
        $result = $this->_em->createQuery("SELECT m, UPPER(m.name) AS uppername FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC")
158
                         ->getArrayResult();
159
160
        $this->assertEquals(4, count($result));
161
        $this->assertEquals('ROMAN B.', $result[0]['uppername']);
162
        $this->assertEquals('BENJAMIN E.', $result[1]['uppername']);
163
        $this->assertEquals('GUILHERME B.', $result[2]['uppername']);
164
        $this->assertEquals('JONATHAN W.', $result[3]['uppername']);
165
    }
166
167
    public function testFunctionSubstring()
168
    {
@@ 210-220 (lines=11) @@
207
        $this->assertEquals('Jonathan W.', $result[3]['str3']);
208
    }
209
210
    public function testOperatorAdd()
211
    {
212
        $result = $this->_em->createQuery('SELECT m, m.salary+2500 AS add FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
213
                ->getResult();
214
215
        $this->assertEquals(4, count($result));
216
        $this->assertEquals(102500, $result[0]['add']);
217
        $this->assertEquals(202500, $result[1]['add']);
218
        $this->assertEquals(402500, $result[2]['add']);
219
        $this->assertEquals(802500, $result[3]['add']);
220
    }
221
222
    public function testOperatorSub()
223
    {
@@ 222-232 (lines=11) @@
219
        $this->assertEquals(802500, $result[3]['add']);
220
    }
221
222
    public function testOperatorSub()
223
    {
224
        $result = $this->_em->createQuery('SELECT m, m.salary-2500 AS sub FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
225
                ->getResult();
226
227
        $this->assertEquals(4, count($result));
228
        $this->assertEquals(97500, $result[0]['sub']);
229
        $this->assertEquals(197500, $result[1]['sub']);
230
        $this->assertEquals(397500, $result[2]['sub']);
231
        $this->assertEquals(797500, $result[3]['sub']);
232
    }
233
234
    public function testOperatorMultiply()
235
    {
@@ 234-244 (lines=11) @@
231
        $this->assertEquals(797500, $result[3]['sub']);
232
    }
233
234
    public function testOperatorMultiply()
235
    {
236
        $result = $this->_em->createQuery('SELECT m, m.salary*2 AS op FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
237
                ->getResult();
238
239
        $this->assertEquals(4, count($result));
240
        $this->assertEquals(200000, $result[0]['op']);
241
        $this->assertEquals(400000, $result[1]['op']);
242
        $this->assertEquals(800000, $result[2]['op']);
243
        $this->assertEquals(1600000, $result[3]['op']);
244
    }
245
246
    /**
247
     * @group test
@@ 249-259 (lines=11) @@
246
    /**
247
     * @group test
248
     */
249
    public function testOperatorDiv()
250
    {
251
        $result = $this->_em->createQuery('SELECT m, (m.salary/0.5) AS op FROM Doctrine\Tests\Models\Company\CompanyManager m ORDER BY m.salary ASC')
252
                ->getResult();
253
254
        $this->assertEquals(4, count($result));
255
        $this->assertEquals(200000, $result[0]['op']);
256
        $this->assertEquals(400000, $result[1]['op']);
257
        $this->assertEquals(800000, $result[2]['op']);
258
        $this->assertEquals(1600000, $result[3]['op']);
259
    }
260
261
    public function testConcatFunction()
262
    {
@@ 261-271 (lines=11) @@
258
        $this->assertEquals(1600000, $result[3]['op']);
259
    }
260
261
    public function testConcatFunction()
262
    {
263
        $arg = $this->_em->createQuery('SELECT CONCAT(m.name, m.department) AS namedep FROM Doctrine\Tests\Models\Company\CompanyManager m order by namedep desc')
264
                ->getArrayResult();
265
266
        $this->assertEquals(4, count($arg));
267
        $this->assertEquals('Roman B.IT', $arg[0]['namedep']);
268
        $this->assertEquals('Jonathan W.Administration', $arg[1]['namedep']);
269
        $this->assertEquals('Guilherme B.Complaint Department', $arg[2]['namedep']);
270
        $this->assertEquals('Benjamin E.HR', $arg[3]['namedep']);
271
    }
272
273
    /**
274
     * @group DDC-1014