1 /****************************************************************************
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd.
4 ** Contact: http://www.qt.io/licensing/
5 **
6 ** This file is part of the test suite of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see http://www.qt.io/terms-conditions. For further
15 ** information use the contact form at http://www.qt.io/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 or version 3 as published by the Free
20 ** Software Foundation and appearing in the file LICENSE.LGPLv21 and
21 ** LICENSE.LGPLv3 included in the packaging of this file. Please review the
22 ** following information to ensure the GNU Lesser General Public License
23 ** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
24 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25 **
26 ** As a special exception, The Qt Company gives you certain additional
27 ** rights. These rights are described in The Qt Company LGPL Exception
28 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29 **
30 ** GNU General Public License Usage
31 ** Alternatively, this file may be used under the terms of the GNU
32 ** General Public License version 3.0 as published by the Free Software
33 ** Foundation and appearing in the file LICENSE.GPL included in the
34 ** packaging of this file. Please review the following information to
35 ** ensure the GNU General Public License version 3.0 requirements will be
36 ** met: http://www.gnu.org/copyleft/gpl.html.
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42
43 #include <QtTest/QtTest>
44 #include <qrect.h>
45 #include <limits.h>
46 #include <qdebug.h>
47
48 Q_DECLARE_METATYPE(QRectF)
49 Q_DECLARE_METATYPE(QPointF)
50 Q_DECLARE_METATYPE(QRect)
51 Q_DECLARE_METATYPE(QPoint)
52
53 //TESTED_CLASS=
54 //TESTED_FILES=
55
56 class tst_QRect : public QObject
57 {
58 Q_OBJECT
59 public:
60 enum QRectCases {
61 InvalidQRect, SmallestQRect, MiddleQRect, LargestQRect, SmallestCoordQRect,
62 LargestCoordQRect, RandomQRect, NegativeSizeQRect, NegativePointQRect, NullQRect, EmptyQRect,
63 MiddleCoordQRect = MiddleQRect
64 };
65
66 enum IntCases {
67 MinimumInt, MiddleNegativeInt, ZeroInt, MiddlePositiveInt, MaximumInt, RandomInt
68 };
69
70 enum QPointCases {
71 NullQPoint, SmallestCoordQPoint, MiddleNegCoordQPoint, MiddlePosCoordQPoint, LargestCoordQPoint, NegativeQPoint,
72 NegXQPoint, NegYQPoint, RandomQPoint
73 };
74
75 tst_QRect();
76 virtual ~tst_QRect();
77
78
79 static QRect getQRectCase( QRectCases c );
80 static int getIntCase( IntCases i );
81 static QPoint getQPointCase( QPointCases p );
82
83 public slots:
84 void init();
85 void cleanup();
86 private slots:
87 void isNull_data();
88 void isNull();
89 void newIsEmpty_data();
90 void newIsEmpty();
91 void newIsValid_data();
92 void newIsValid();
93 void normalized_data();
94 void normalized();
95 void left_data();
96 void left();
97 void top_data();
98 void top();
99 void right_data();
100 void right();
101 void bottom_data();
102 void bottom();
103 /*
104 The test framework has a problem with implementing QCOORD as a type that can be used, if it's
105 implemented then the 4 tests above have problems. Ed has been notified.
106 void rLeft_data();
107 void rLeft();
108 void rTop_data();
109 void rTop();
110 void rRight_data();
111 void rRight();
112 void rBottom_data();
113 void rBottom();
114 */
115 void x_data();
116 void x();
117 void y_data();
118 void y();
119 void setWidthHeight_data();
120 void setWidthHeight();
121 void setLeft_data();
122 void setLeft();
123 void setTop_data();
124 void setTop();
125 void setRight_data();
126 void setRight();
127 void setBottom_data();
128 void setBottom();
129 void setX();
130 void setY();
131 void newSetTopLeft_data();
132 void newSetTopLeft();
133 void newSetBottomRight_data();
134 void newSetBottomRight();
135 void newSetTopRight_data();
136 void newSetTopRight();
137 void newSetBottomLeft_data();
138 void newSetBottomLeft();
139 void topLeft_data();
140 void topLeft();
141 void bottomRight_data();
142 void bottomRight();
143 void topRight_data();
144 void topRight();
145 void bottomLeft_data();
146 void bottomLeft();
147 void center_data();
148 void center();
149 void getRect_data();
150 void getRect();
151 void getCoords_data();
152 void getCoords();
153 void newMoveLeft_data();
154 void newMoveLeft();
155 void newMoveTop_data();
156 void newMoveTop();
157 void newMoveRight_data();
158 void newMoveRight();
159 void newMoveBottom_data();
160 void newMoveBottom();
161 void newMoveTopLeft_data();
162 void newMoveTopLeft();
163 void newMoveBottomRight_data();
164 void newMoveBottomRight();
165 /*void newMoveTopRight_data();
166 void newMoveTopRight();
167 void newMoveBottomLeft_data();
168 void newMoveBottomLeft();*/
169
170 void translate_data();
171 void translate();
172
173 void moveTop();
174 void moveBottom();
175 void moveLeft();
176 void moveRight();
177 void moveTopLeft();
178 void moveTopRight();
179 void moveBottomLeft();
180 void moveBottomRight();
181 void setTopLeft();
182 void setTopRight();
183 void setBottomLeft();
184 void setBottomRight();
185 void operator_amp();
186 void operator_amp_eq();
187 void isEmpty();
188 void isValid();
189
190 void testAdjust_data();
191 void testAdjust();
192
193 void intersectedRect_data();
194 void intersectedRect();
195 void intersectedRectF_data();
196 void intersectedRectF();
197 void unitedRect_data();
198 void unitedRect();
199 void unitedRectF_data();
200 void unitedRectF();
201 void intersectsRect_data();
202 void intersectsRect();
203 void intersectsRectF_data();
204 void intersectsRectF();
205 void containsRect_data();
206 void containsRect();
207 void containsRectF_data();
208 void containsRectF();
209 void containsPoint_data();
210 void containsPoint();
211 void containsPointF_data();
212 void containsPointF();
213 void smallRects() const;
214 };
215
216 // Used to work around some floating point precision problems.
217 #define LARGE 1000000000
isLarge(int x)218 static bool isLarge(int x) { return x > LARGE || x < -LARGE; }
219
220
tst_QRect()221 tst_QRect::tst_QRect()
222 {
223 }
224
~tst_QRect()225 tst_QRect::~tst_QRect()
226 {
227 }
228
init()229 void tst_QRect::init()
230 {
231 }
232
cleanup()233 void tst_QRect::cleanup()
234 {
235 }
236
getQRectCase(QRectCases c)237 QRect tst_QRect::getQRectCase( QRectCases c )
238 {
239 // Should return the best variety of possible QRects, if a
240 // case is missing, please add it.
241
242 switch ( c ) {
243 case InvalidQRect:
244 return QRect();
245 case SmallestQRect:
246 return QRect( 1, 1, 1, 1 );
247 case MiddleQRect:
248 return QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ) );
249 case LargestQRect:
250 return QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
251 case SmallestCoordQRect:
252 return QRect( QPoint( INT_MIN, INT_MIN ), QSize( 1, 1 ) );
253 case LargestCoordQRect:
254 return QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
255 case RandomQRect:
256 return QRect( 100, 200, 11, 16 );
257 case NegativeSizeQRect:
258 return QRect( 1, 1, -10, -10 );
259 case NegativePointQRect:
260 return QRect( -10, -10, 5, 5 );
261 case NullQRect:
262 return QRect( 5, 5, 0, 0 );
263 case EmptyQRect:
264 return QRect( QPoint( 2, 2 ), QPoint( 1, 1 ) );
265 default:
266 return QRect();
267 }
268 }
269
getIntCase(IntCases i)270 int tst_QRect::getIntCase( IntCases i )
271 {
272 // Should return the best variety of possible ints, if a
273 // case is missing, please add it.
274
275 switch ( i ) {
276 case MinimumInt:
277 return INT_MIN;
278 case MiddleNegativeInt:
279 return INT_MIN / 2;
280 case ZeroInt:
281 return 0;
282 case MiddlePositiveInt:
283 return INT_MAX / 2;
284 case MaximumInt:
285 return INT_MAX;
286 case RandomInt:
287 return 4953;
288 default:
289 return 0;
290 }
291 }
292
getQPointCase(QPointCases p)293 QPoint tst_QRect::getQPointCase( QPointCases p )
294 {
295 // Should return the best variety of possible QPoints, if a
296 // case is missing, please add it.
297 switch ( p ) {
298 case NullQPoint:
299 return QPoint();
300 case SmallestCoordQPoint:
301 return QPoint(INT_MIN,INT_MIN);
302 case MiddleNegCoordQPoint:
303 return QPoint(INT_MIN/2,INT_MIN/2);
304 case MiddlePosCoordQPoint:
305 return QPoint(INT_MAX/2,INT_MAX/2);
306 case LargestCoordQPoint:
307 return QPoint(INT_MAX,INT_MAX);
308 case NegXQPoint:
309 return QPoint(-12,7);
310 case NegYQPoint:
311 return QPoint(12,-7);
312 case RandomQPoint:
313 return QPoint(12,7);
314 default:
315 return QPoint();
316 }
317 }
318
isNull_data()319 void tst_QRect::isNull_data()
320 {
321 QTest::addColumn<QRect>("r");
322 QTest::addColumn<bool>("isNull");
323
324 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << true;
325 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << false;
326 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << false;
327 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << false;
328 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << false;
329 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << true; // Due to overflow
330 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << false;
331 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << false;
332 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << false;
333 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << true;
334 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << true;
335 }
336
isNull()337 void tst_QRect::isNull()
338 {
339 QFETCH( QRect, r );
340 QFETCH( bool, isNull );
341
342 QRectF rf(r);
343
344 QVERIFY( r.isNull() == isNull );
345 QVERIFY( rf.isNull() == isNull );
346 }
347
newIsEmpty_data()348 void tst_QRect::newIsEmpty_data()
349 {
350 QTest::addColumn<QRect>("r");
351 QTest::addColumn<bool>("isEmpty");
352
353 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << true;
354 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << false;
355 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << false;
356 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << false;
357 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << false;
358 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << false;
359 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << false;
360 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << true;
361 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << false;
362 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << true;
363 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << true;
364 }
365
newIsEmpty()366 void tst_QRect::newIsEmpty()
367 {
368 // A new test is written so the old one isn't removed
369 QFETCH( QRect, r );
370 QFETCH( bool, isEmpty );
371
372 QRectF rf(r);
373
374 QVERIFY( r.isEmpty() == isEmpty );
375
376 if (isLarge(r.x()) || isLarge(r.y()) || isLarge(r.width()) || isLarge(r.height()))
377 return;
378 QVERIFY( rf.isEmpty() == isEmpty );
379 }
380
newIsValid_data()381 void tst_QRect::newIsValid_data()
382 {
383 QTest::addColumn<QRect>("r");
384 QTest::addColumn<bool>("isValid");
385
386 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << false;
387 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << true;
388 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << true;
389 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << true;
390 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << true;
391 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << true;
392 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << true;
393 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << false;
394 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << true;
395 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << false;
396 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << false;
397 }
398
newIsValid()399 void tst_QRect::newIsValid()
400 {
401 // A new test is written so the old one isn't removed
402 QFETCH( QRect, r );
403 QFETCH( bool, isValid );
404
405 QRectF rf(r);
406
407 QVERIFY( r.isValid() == isValid );
408
409 if (isLarge(r.x()) || isLarge(r.y()) || isLarge(r.width()) || isLarge(r.height()))
410 return;
411
412 QVERIFY( rf.isValid() == isValid );
413 }
414
normalized_data()415 void tst_QRect::normalized_data()
416 {
417 QTest::addColumn<QRect>("r");
418 QTest::addColumn<QRect>("nr");
419
420 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << getQRectCase( InvalidQRect );
421 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << QRect( 1, 1, 1, 1 );
422 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect )
423 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ) );
424 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect )
425 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
426 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect )
427 << QRect( QPoint( INT_MIN, INT_MIN ), QSize( 1, 1 ) );
428 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect )
429 << getQRectCase( LargestCoordQRect ); // overflow
430 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << QRect( 100, 200, 11, 16 );
431 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << QRect(QPoint(-10,-10),QPoint(1,1));
432 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << QRect( -10, -10, 5, 5 );
433 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << getQRectCase( NullQRect );
434 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << getQRectCase( EmptyQRect );
435 QTest::newRow( "Task80908") << QRect(100, 200, 100, 0) << QRect(100, 200, 100, 0);
436 // Since "NegativeSizeQRect passes, I expect both of these to pass too.
437 // This passes, since height() returns -1 before normalization
438 QTest::newRow( "Task85023") << QRect(QPoint(100,201), QPoint(199,199)) << QRect(QPoint(100,199), QPoint(199,201));
439 // This, on the other hand height() returns 0 before normalization.
440 QTest::newRow( "Task85023.1") << QRect(QPoint(100,200), QPoint(199,199)) << QRect(QPoint(100,199), QPoint(199,200));
441 QTest::newRow( "Task188109" ) << QRect(QPoint(263, 113), QPoint(136, 112)) << QRect(QPoint(136, 113), QPoint(263, 112));
442 }
443
normalized()444 void tst_QRect::normalized()
445 {
446 QFETCH(QRect, r);
447 QFETCH(QRect, nr);
448
449 if (QTest::currentDataTag() == QString("Task85023.1"))
450 QEXPECT_FAIL("", "due to broken QRect definition (not possible to change)", Continue);
451 QCOMPARE(r.normalized(), nr);
452 }
453
left_data()454 void tst_QRect::left_data()
455 {
456 QTest::addColumn<QRect>("r");
457 QTest::addColumn<int>("left");
458
459 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0;
460 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
461 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN) / 2;
462 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0;
463 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
464 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN);
465 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 100;
466 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1;
467 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10;
468 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5;
469 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2;
470 }
471
left()472 void tst_QRect::left()
473 {
474 QFETCH( QRect, r );
475 QFETCH( int, left );
476
477 QRectF rf(r);
478
479 QCOMPARE( r.left(), left );
480 QCOMPARE(QRectF(rf).left(), qreal(left));
481 }
482
top_data()483 void tst_QRect::top_data()
484 {
485 QTest::addColumn<QRect>("r");
486 QTest::addColumn<int>("top");
487
488 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0;
489 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
490 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN) / 2;
491 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0;
492 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
493 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN);
494 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 200;
495 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1;
496 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10;
497 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5;
498 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2;
499 }
500
top()501 void tst_QRect::top()
502 {
503 QFETCH( QRect, r );
504 QFETCH( int, top );
505
506 QCOMPARE( r.top(), top );
507 QCOMPARE(QRectF(r).top(), qreal(top));
508 }
509
right_data()510 void tst_QRect::right_data()
511 {
512 // We don't test the NullQRect case as the return value is undefined.
513
514 QTest::addColumn<QRect>("r");
515 QTest::addColumn<int>("right");
516
517 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << -1;
518 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
519 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MAX / 2);
520 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << int(INT_MAX) - 1;
521 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
522 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MAX);
523 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 110;
524 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << -10;
525 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -6;
526 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 1;
527 }
528
right()529 void tst_QRect::right()
530 {
531 QFETCH( QRect, r );
532 QFETCH( int, right );
533
534 QCOMPARE( r.right(), right );
535
536 if (isLarge(r.width()))
537 return;
538 QCOMPARE(QRectF(r).right(), qreal(right+1));
539 }
540
bottom_data()541 void tst_QRect::bottom_data()
542 {
543 // We don't test the NullQRect case as the return value is undefined.
544
545 QTest::addColumn<QRect>("r");
546 QTest::addColumn<int>("bottom");
547
548 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << -1;
549 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
550 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MAX / 2);
551 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << int(INT_MAX - 1);
552 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
553 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MAX);
554 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 215;
555 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << -10;
556 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -6;
557 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 1;
558 }
559
560
bottom()561 void tst_QRect::bottom()
562 {
563 QFETCH( QRect, r );
564 QFETCH( int, bottom );
565
566 QCOMPARE( r.bottom(), bottom );
567
568 if (isLarge(r.height()))
569 return;
570 QCOMPARE(QRectF(r).bottom(), qreal(bottom + 1));
571 }
572
573 /*
574 Q_DECLARE_METATYPE(QCOORD)
575
576 void tst_QRect::rLeft_data()
577 {
578 QTest::addColumn<QRect>("r");
579 QTest::addColumn<QCOORD>("rLeft");
580
581 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0;
582 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
583 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN) / 2;
584 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0;
585 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
586 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN);
587 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 100;
588 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1;
589 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10;
590 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5;
591 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2;
592 }
593
594 void tst_QRect::rLeft()
595 {
596 QFETCH( QRect, r );
597 QFETCH( QCOORD, rLeft );
598
599 QCOMPARE( r.rLeft(), rLeft );
600 }
601
602 void tst_QRect::rTop_data()
603 {
604 QTest::addColumn<QRect>("r");
605 QTest::addColumn<QCOORD>("rTop");
606
607 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0;
608 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
609 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN) / 2;
610 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0;
611 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
612 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN);
613 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 200;
614 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1;
615 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10;
616 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5;
617 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2;
618 }
619
620 void tst_QRect::rTop()
621 {
622 QFETCH( QRect, r );
623 QFETCH( QCOORD, rTop );
624
625 QCOMPARE( r.rTop(), rTop );
626 }
627
628 void tst_QRect::rRight_data()
629 {
630 // We don't test the NullQRect case as the return value is undefined.
631
632 QTest::addColumn<QRect>("r");
633 QTest::addColumn<QCOORD>("rRight");
634
635 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << -1;
636 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
637 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MAX) / 2;
638 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << int(INT_MAX) - 1;
639 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
640 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MAX);
641 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 110;
642 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << -10;
643 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -6;
644 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 1;
645 }
646
647 void tst_QRect::rRight()
648 {
649 QFETCH( QRect, r );
650 QFETCH( QCOORD, rRight );
651
652 QCOMPARE( r.rRight(), rRight );
653 }
654
655 void tst_QRect::rBottom_data()
656 {
657 // We don't test the NullQRect case as the return value is undefined.
658
659 QTest::addColumn<QRect>("r");
660 QTest::addColumn<QCOORD>("rBottom");
661
662 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << -1;
663 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
664 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MAX) / 2;
665 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << int(INT_MAX) - 1;
666 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
667 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MAX);
668 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 215;
669 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << -10;
670 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -6;
671 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 1;
672 }
673
674 void tst_QRect::rBottom()
675 {
676 QFETCH( QRect, r );
677 QFETCH( QCOORD, rBottom );
678
679 QCOMPARE( r.rBottom(), rBottom );
680 }
681 */
682
x_data()683 void tst_QRect::x_data()
684 {
685 QTest::addColumn<QRect>("r");
686 QTest::addColumn<int>("x");
687
688 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0;
689 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
690 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN / 2);
691 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0;
692 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
693 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN);
694 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 100;
695 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1;
696 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10;
697 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5;
698 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2;
699
700 }
701
x()702 void tst_QRect::x()
703 {
704 QFETCH( QRect, r );
705 QFETCH( int, x );
706
707 QCOMPARE( r.x(), x );
708 QCOMPARE(QRectF(r).x(), qreal(x));
709 }
710
y_data()711 void tst_QRect::y_data()
712 {
713 QTest::addColumn<QRect>("r");
714 QTest::addColumn<int>("y");
715
716 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0;
717 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1;
718 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN / 2);
719 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0;
720 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN);
721 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN);
722 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 200;
723 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1;
724 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10;
725 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5;
726 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2;
727 }
728
y()729 void tst_QRect::y()
730 {
731 QFETCH( QRect, r );
732 QFETCH( int, y );
733
734 QCOMPARE( r.y(), y );
735 QCOMPARE(QRectF(r).y(), qreal(y));
736 }
737
setWidthHeight_data()738 void tst_QRect::setWidthHeight_data()
739 {
740 QTest::addColumn<int>("w");
741 QTest::addColumn<int>("h");
742
743 QTest::newRow("10x20") << 10 << 20;
744 QTest::newRow("-1x-1") << -1 << -1;
745 QTest::newRow("0x0") << 0 << 0;
746 QTest::newRow("-10x-100") << -10 << -100;
747 }
748
setWidthHeight()749 void tst_QRect::setWidthHeight()
750 {
751 QFETCH(int, w);
752 QFETCH(int, h);
753
754 QRect r;
755 r.setWidth(w);
756 r.setHeight(h);
757
758 QCOMPARE(r.width(), w);
759 QCOMPARE(r.height(), h);
760
761 QRectF rf;
762 rf.setWidth(w);
763 rf.setHeight(h);
764 QCOMPARE(rf.width(), qreal(w));
765 QCOMPARE(rf.height(), qreal(h));
766 }
767
768
setLeft_data()769 void tst_QRect::setLeft_data()
770 {
771 QTest::addColumn<QRect>("r");
772 QTest::addColumn<int>("left");
773 QTest::addColumn<QRect>("nr");
774
775 {
776 QTest::newRow( "InvalidQRect_MinimumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MinimumInt )
777 << QRect( QPoint(INT_MIN,0), QPoint(-1,-1) );
778 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
779 << QRect( QPoint(INT_MIN/2,0), QPoint(-1,-1) );
780 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
781 << QRect( QPoint(0,0), QPoint(-1,-1) );
782 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
783 << QRect( QPoint(INT_MAX/2,0), QPoint(-1,-1) );
784 QTest::newRow( "InvalidQRect_MaximumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MaximumInt )
785 << QRect( QPoint(INT_MAX,0), QPoint(-1,-1) );
786 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
787 << QRect( QPoint(4953,0), QPoint(-1,-1) );
788 }
789
790 {
791 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
792 << QRect( QPoint(INT_MIN,1), QPoint(1,1) );
793 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
794 << QRect( QPoint(INT_MIN/2,1), QPoint(1,1) );
795 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
796 << QRect( QPoint(0,1), QPoint(1,1) );
797 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
798 << QRect( QPoint(INT_MAX/2,1), QPoint(1,1) );
799 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
800 << QRect( QPoint(INT_MAX,1), QPoint(1,1) );
801 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
802 << QRect( QPoint(4953,1), QPoint(1,1) );
803 }
804
805 {
806 QTest::newRow( "MiddleQRect_MinimumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MinimumInt )
807 << QRect( QPoint(INT_MIN, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ) );
808 QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddleNegativeInt )
809 << QRect( QPoint(INT_MIN/2, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ) );
810 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
811 << QRect( QPoint(0, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ));
812 QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddlePositiveInt )
813 << QRect( QPoint(INT_MAX/2, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ));
814 QTest::newRow( "MiddleQRect_MaximumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MaximumInt )
815 << QRect( QPoint(INT_MAX, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ));
816 QTest::newRow( "MiddleQRect_RandomInt" ) << getQRectCase( MiddleQRect ) << getIntCase( RandomInt )
817 << QRect( QPoint(4953, INT_MIN / 2 ), QPoint( INT_MAX / 2, INT_MAX / 2 ));
818 }
819
820 {
821 QTest::newRow( "LargestQRect_MinimumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MinimumInt )
822 << QRect( QPoint(INT_MIN, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
823 QTest::newRow( "LargestQRect_MiddleNegativeInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddleNegativeInt )
824 << QRect( QPoint(INT_MIN/2, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
825 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
826 << QRect( QPoint(0, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
827 QTest::newRow( "LargestQRect_MiddlePositiveInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddlePositiveInt )
828 << QRect( QPoint(INT_MAX/2, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
829 QTest::newRow( "LargestQRect_MaximumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MaximumInt )
830 << QRect( QPoint(INT_MAX, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
831 QTest::newRow( "LargestQRect_RandomInt" ) << getQRectCase( LargestQRect ) << getIntCase( RandomInt )
832 << QRect( QPoint(4953, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
833 }
834
835 {
836 QTest::newRow( "SmallestCoordQRect_MinimumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MinimumInt )
837 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
838 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
839 << QRect( QPoint( INT_MIN/2, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
840 QTest::newRow( "SmallestCoordQRect_ZeroInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( ZeroInt )
841 << QRect( QPoint( 0, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
842 QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddlePositiveInt )
843 << QRect( QPoint( INT_MAX/2, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
844 QTest::newRow( "SmallestCoordQRect_MaximumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MaximumInt )
845 << QRect( QPoint( INT_MAX, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
846 QTest::newRow( "SmallestCoordQRect_RandomInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( RandomInt )
847 << QRect( QPoint( 4953, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
848 }
849
850 {
851 QTest::newRow( "LargestCoordQRect_MinimumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MinimumInt )
852 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
853 QTest::newRow( "LargestCoordQRect_MiddleNegativeInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddleNegativeInt )
854 << QRect( QPoint( INT_MIN/2, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
855 QTest::newRow( "LargestCoordQRect_ZeroInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( ZeroInt )
856 << QRect( QPoint( 0, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
857 QTest::newRow( "LargestCoordQRect_MiddlePositiveInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddlePositiveInt )
858 << QRect( QPoint( INT_MAX/2, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
859 QTest::newRow( "LargestCoordQRect_MaximumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MaximumInt )
860 << QRect( QPoint( INT_MAX, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
861 QTest::newRow( "LargestCoordQRect_RandomInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( RandomInt )
862 << QRect( QPoint( 4953, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
863 }
864
865 {
866 QTest::newRow( "RandomQRect_MinimumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MinimumInt )
867 << QRect( QPoint( INT_MIN, 200 ), QPoint( 110, 215 ) );
868 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
869 << QRect( QPoint( INT_MIN/2, 200 ), QPoint( 110, 215 ) );
870 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
871 << QRect( QPoint( 0, 200 ), QPoint( 110, 215 ) );
872 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
873 << QRect( QPoint( INT_MAX/2, 200 ), QPoint( 110, 215 ) );
874 QTest::newRow( "RandomQRect_MaximumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MaximumInt )
875 << QRect( QPoint( INT_MAX, 200 ), QPoint( 110, 215 ) );
876 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
877 << QRect( QPoint( 4953, 200 ), QPoint( 110, 215 ) );
878 }
879
880 {
881 QTest::newRow( "NegativeSizeQRect_MinimumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MinimumInt )
882 << QRect( QPoint( INT_MIN, 1 ), QPoint( -10, -10 ) );
883 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
884 << QRect( QPoint( INT_MIN/2, 1 ), QPoint( -10, -10 ) );
885 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
886 << QRect( QPoint( 0, 1 ), QPoint( -10, -10 ) );
887 QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddlePositiveInt )
888 << QRect( QPoint( INT_MAX/2, 1 ), QPoint( -10, -10 ) );
889 QTest::newRow( "NegativeSizeQRect_MaximumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MaximumInt )
890 << QRect( QPoint( INT_MAX, 1 ), QPoint( -10, -10 ) );
891 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
892 << QRect( QPoint( 4953, 1 ), QPoint( -10, -10 ) );
893 }
894
895 {
896 QTest::newRow( "NegativePointQRect_MinimumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MinimumInt )
897 << QRect( QPoint( INT_MIN, -10 ), QPoint( -6, -6 ) );
898 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
899 << QRect( QPoint( INT_MIN/2, -10 ), QPoint( -6, -6 ) );
900 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
901 << QRect( QPoint( 0, -10 ), QPoint( -6, -6 ) );
902 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
903 << QRect( QPoint( INT_MAX/2, -10 ), QPoint( -6, -6 ) );
904 QTest::newRow( "NegativePointQRect_MaximumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MaximumInt )
905 << QRect( QPoint( INT_MAX, -10 ), QPoint( -6, -6 ) );
906 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
907 << QRect( QPoint( 4953, -10 ), QPoint( -6, -6 ) );
908 }
909
910 {
911 QTest::newRow( "NullQRect_MinimumInt" ) << getQRectCase( NullQRect ) << getIntCase( MinimumInt )
912 << QRect( QPoint( INT_MIN, 5 ), QPoint( 4, 4 ) );
913 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
914 << QRect( QPoint( INT_MIN/2, 5 ), QPoint( 4, 4 ) );
915 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
916 << QRect( QPoint( 0, 5 ), QPoint( 4, 4 ) );
917 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
918 << QRect( QPoint( INT_MAX/2, 5), QPoint( 4, 4 ) );
919 QTest::newRow( "NullQRect_MaximumInt" ) << getQRectCase( NullQRect ) << getIntCase( MaximumInt )
920 << QRect( QPoint( INT_MAX, 5 ), QPoint( 4, 4 ) );
921 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
922 << QRect( QPoint( 4953, 5 ), QPoint( 4, 4 ) );
923 }
924
925 {
926 QTest::newRow( "EmptyQRect_MinimumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MinimumInt )
927 << QRect( QPoint( INT_MIN, 2 ), QPoint( 1, 1 ) );
928 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
929 << QRect( QPoint( INT_MIN/2, 2 ), QPoint( 1, 1 ) );
930 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
931 << QRect( QPoint( 0, 2 ), QPoint( 1, 1 ) );
932 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
933 << QRect( QPoint( INT_MAX/2, 2 ), QPoint( 1, 1 ) );
934 QTest::newRow( "EmptyQRect_MaximumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MaximumInt )
935 << QRect( QPoint( INT_MAX, 2 ), QPoint( 1, 1 ) );
936 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
937 << QRect( QPoint( 4953, 2 ), QPoint( 1, 1 ) );
938 }
939 }
940
setLeft()941 void tst_QRect::setLeft()
942 {
943 QFETCH( QRect, r );
944 QFETCH( int, left );
945 QFETCH( QRect, nr );
946
947 QRectF rf(r);
948 QRectF nrf(nr);
949
950 r.setLeft( left );
951
952 QCOMPARE( r, nr );
953
954 rf.setLeft(left);
955 }
956
setTop_data()957 void tst_QRect::setTop_data()
958 {
959 QTest::addColumn<QRect>("r");
960 QTest::addColumn<int>("top");
961 QTest::addColumn<QRect>("nr");
962
963 {
964 QTest::newRow( "InvalidQRect_MinimumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MinimumInt )
965 << QRect( QPoint(0,INT_MIN), QPoint(-1,-1) );
966 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
967 << QRect( QPoint(0,INT_MIN/2), QPoint(-1,-1) );
968 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
969 << QRect( QPoint(0,0), QPoint(-1,-1) );
970 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
971 << QRect( QPoint(0,INT_MAX/2), QPoint(-1,-1) );
972 QTest::newRow( "InvalidQRect_MaximumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MaximumInt )
973 << QRect( QPoint(0,INT_MAX), QPoint(-1,-1) );
974 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
975 << QRect( QPoint(0,4953), QPoint(-1,-1) );
976 }
977
978 {
979 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
980 << QRect( QPoint(1,INT_MIN), QPoint(1,1) );
981 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
982 << QRect( QPoint(1,INT_MIN/2), QPoint(1,1) );
983 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
984 << QRect( QPoint(1,0), QPoint(1,1) );
985 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
986 << QRect( QPoint(1,INT_MAX/2), QPoint(1,1) );
987 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
988 << QRect( QPoint(1,INT_MAX), QPoint(1,1) );
989 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
990 << QRect( QPoint(1,4953), QPoint(1,1) );
991 }
992
993 {
994 QTest::newRow( "MiddleQRect_MinimumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MinimumInt )
995 << QRect( QPoint(INT_MIN/2,INT_MIN), QPoint( INT_MAX / 2, INT_MAX / 2 ) );
996 QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddleNegativeInt )
997 << QRect( QPoint(INT_MIN/2,INT_MIN/2), QPoint( INT_MAX / 2, INT_MAX / 2 ) );
998 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
999 << QRect( QPoint(INT_MIN/2,0), QPoint( INT_MAX / 2, INT_MAX / 2 ));
1000 QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddlePositiveInt )
1001 << QRect( QPoint(INT_MIN/2,INT_MAX/2), QPoint( INT_MAX / 2, INT_MAX / 2 ));
1002 QTest::newRow( "MiddleQRect_MaximumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MaximumInt )
1003 << QRect( QPoint(INT_MIN/2,INT_MAX), QPoint( INT_MAX / 2, INT_MAX / 2 ));
1004 QTest::newRow( "MiddleQRect_RandomInt" ) << getQRectCase( MiddleQRect ) << getIntCase( RandomInt )
1005 << QRect( QPoint(INT_MIN/2,4953), QPoint( INT_MAX / 2, INT_MAX / 2 ));
1006 }
1007
1008 {
1009 QTest::newRow( "LargestQRect_MinimumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MinimumInt )
1010 << QRect( QPoint(0,INT_MIN), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
1011 QTest::newRow( "LargestQRect_MiddleNegativeInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddleNegativeInt )
1012 << QRect( QPoint(0,INT_MIN/2), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
1013 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
1014 << QRect( QPoint(0, 0), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
1015 QTest::newRow( "LargestQRect_MiddlePositiveInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddlePositiveInt )
1016 << QRect( QPoint(0,INT_MAX/2), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
1017 QTest::newRow( "LargestQRect_MaximumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MaximumInt )
1018 << QRect( QPoint(0,INT_MAX), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
1019 QTest::newRow( "LargestQRect_RandomInt" ) << getQRectCase( LargestQRect ) << getIntCase( RandomInt )
1020 << QRect( QPoint(0,4953), QPoint( INT_MAX - 1, INT_MAX - 1 ) );
1021 }
1022
1023 {
1024 QTest::newRow( "SmallestCoordQRect_MinimumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MinimumInt )
1025 << QRect( QPoint(INT_MIN,INT_MIN), QPoint( INT_MIN, INT_MIN ) );
1026 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
1027 << QRect( QPoint(INT_MIN,INT_MIN/2), QPoint( INT_MIN, INT_MIN ) );
1028 QTest::newRow( "SmallestCoordQRect_ZeroInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( ZeroInt )
1029 << QRect( QPoint(INT_MIN,0), QPoint( INT_MIN, INT_MIN ) );
1030 QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddlePositiveInt )
1031 << QRect( QPoint(INT_MIN,INT_MAX/2), QPoint( INT_MIN, INT_MIN ) );
1032 QTest::newRow( "SmallestCoordQRect_MaximumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MaximumInt )
1033 << QRect( QPoint(INT_MIN,INT_MAX), QPoint( INT_MIN, INT_MIN ) );
1034 QTest::newRow( "SmallestCoordQRect_RandomInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( RandomInt )
1035 << QRect( QPoint(INT_MIN,4953), QPoint( INT_MIN, INT_MIN ) );
1036 }
1037
1038 {
1039 QTest::newRow( "LargestCoordQRect_MinimumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MinimumInt )
1040 << QRect( QPoint(INT_MIN,INT_MIN), QPoint( INT_MAX, INT_MAX ) );
1041 QTest::newRow( "LargestCoordQRect_MiddleNegativeInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddleNegativeInt )
1042 << QRect( QPoint(INT_MIN,INT_MIN/2), QPoint( INT_MAX, INT_MAX ) );
1043 QTest::newRow( "LargestCoordQRect_ZeroInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( ZeroInt )
1044 << QRect( QPoint(INT_MIN,0), QPoint( INT_MAX, INT_MAX ) );
1045 QTest::newRow( "LargestCoordQRect_MiddlePositiveInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddlePositiveInt )
1046 << QRect( QPoint(INT_MIN,INT_MAX/2), QPoint( INT_MAX, INT_MAX ) );
1047 QTest::newRow( "LargestCoordQRect_MaximumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MaximumInt )
1048 << QRect( QPoint(INT_MIN,INT_MAX), QPoint( INT_MAX, INT_MAX ) );
1049 QTest::newRow( "LargestCoordQRect_RandomInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( RandomInt )
1050 << QRect( QPoint(INT_MIN,4953), QPoint( INT_MAX, INT_MAX ) );
1051 }
1052
1053 {
1054 QTest::newRow( "RandomQRect_MinimumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MinimumInt )
1055 << QRect( QPoint(100,INT_MIN), QPoint( 110, 215 ) );
1056 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
1057 << QRect( QPoint(100,INT_MIN/2), QPoint( 110, 215 ) );
1058 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
1059 << QRect( QPoint(100,0), QPoint( 110, 215 ) );
1060 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
1061 << QRect( QPoint(100,INT_MAX/2), QPoint( 110, 215 ) );
1062 QTest::newRow( "RandomQRect_MaximumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MaximumInt )
1063 << QRect( QPoint(100,INT_MAX), QPoint( 110, 215 ) );
1064 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
1065 << QRect( QPoint(100,4953), QPoint( 110, 215 ) );
1066 }
1067
1068 {
1069 QTest::newRow( "NegativeSizeQRect_MinimumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MinimumInt )
1070 << QRect( QPoint(1,INT_MIN), QPoint( -10, -10 ) );
1071 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
1072 << QRect( QPoint(1,INT_MIN/2), QPoint( -10, -10 ) );
1073 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
1074 << QRect( QPoint(1,0), QPoint( -10, -10 ) );
1075 QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddlePositiveInt )
1076 << QRect( QPoint(1,INT_MAX/2), QPoint( -10, -10 ) );
1077 QTest::newRow( "NegativeSizeQRect_MaximumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MaximumInt )
1078 << QRect( QPoint(1,INT_MAX), QPoint( -10, -10 ) );
1079 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
1080 << QRect( QPoint(1,4953), QPoint( -10, -10 ) );
1081 }
1082
1083 {
1084 QTest::newRow( "NegativePointQRect_MinimumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MinimumInt )
1085 << QRect( QPoint(-10,INT_MIN), QPoint( -6, -6 ) );
1086 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
1087 << QRect( QPoint(-10,INT_MIN/2), QPoint( -6, -6 ) );
1088 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
1089 << QRect( QPoint(-10,0), QPoint( -6, -6 ) );
1090 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
1091 << QRect( QPoint(-10,INT_MAX/2), QPoint( -6, -6 ) );
1092 QTest::newRow( "NegativePointQRect_MaximumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MaximumInt )
1093 << QRect( QPoint(-10,INT_MAX), QPoint( -6, -6 ) );
1094 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
1095 << QRect( QPoint(-10,4953), QPoint( -6, -6 ) );
1096 }
1097
1098 {
1099 QTest::newRow( "NullQRect_MinimumInt" ) << getQRectCase( NullQRect ) << getIntCase( MinimumInt )
1100 << QRect( QPoint(5,INT_MIN), QPoint( 4, 4 ) );
1101 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
1102 << QRect( QPoint(5,INT_MIN/2), QPoint( 4, 4 ) );
1103 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
1104 << QRect( QPoint(5,0), QPoint( 4, 4 ) );
1105 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
1106 << QRect( QPoint(5,INT_MAX/2), QPoint( 4, 4 ) );
1107 QTest::newRow( "NullQRect_MaximumInt" ) << getQRectCase( NullQRect ) << getIntCase( MaximumInt )
1108 << QRect( QPoint(5,INT_MAX), QPoint( 4, 4 ) );
1109 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
1110 << QRect( QPoint(5,4953), QPoint( 4, 4 ) );
1111 }
1112
1113 {
1114 QTest::newRow( "EmptyQRect_MinimumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MinimumInt )
1115 << QRect( QPoint(2,INT_MIN), QPoint( 1, 1 ) );
1116 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
1117 << QRect( QPoint(2,INT_MIN/2), QPoint( 1, 1 ) );
1118 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
1119 << QRect( QPoint(2,0), QPoint( 1, 1 ) );
1120 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
1121 << QRect( QPoint(2,INT_MAX/2), QPoint( 1, 1 ) );
1122 QTest::newRow( "EmptyQRect_MaximumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MaximumInt )
1123 << QRect( QPoint(2,INT_MAX), QPoint( 1, 1 ) );
1124 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
1125 << QRect( QPoint(2,4953), QPoint( 1, 1 ) );
1126 }
1127 }
1128
setTop()1129 void tst_QRect::setTop()
1130 {
1131 QFETCH( QRect, r );
1132 QFETCH( int, top );
1133 QFETCH( QRect, nr );
1134
1135 r.setTop( top );
1136
1137 QCOMPARE( r, nr );
1138 }
1139
setRight_data()1140 void tst_QRect::setRight_data()
1141 {
1142 QTest::addColumn<QRect>("r");
1143 QTest::addColumn<int>("right");
1144 QTest::addColumn<QRect>("nr");
1145
1146 {
1147 QTest::newRow( "InvalidQRect_MinimumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MinimumInt )
1148 << QRect( QPoint(0,0), QPoint(INT_MIN,-1) );
1149 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
1150 << QRect( QPoint(0,0), QPoint(INT_MIN/2,-1) );
1151 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
1152 << QRect( QPoint(0,0), QPoint(0,-1) );
1153 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
1154 << QRect( QPoint(0,0), QPoint(INT_MAX/2,-1) );
1155 QTest::newRow( "InvalidQRect_MaximumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MaximumInt )
1156 << QRect( QPoint(0,0), QPoint(INT_MAX,-1) );
1157 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
1158 << QRect( QPoint(0,0), QPoint(4953,-1) );
1159 }
1160
1161 {
1162 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
1163 << QRect( QPoint(1,1), QPoint(INT_MIN,1) );
1164 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
1165 << QRect( QPoint(1,1), QPoint(INT_MIN/2,1) );
1166 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
1167 << QRect( QPoint(1,1), QPoint(0,1) );
1168 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
1169 << QRect( QPoint(1,1), QPoint(INT_MAX/2,1) );
1170 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
1171 << QRect( QPoint(1,1), QPoint(INT_MAX,1) );
1172 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
1173 << QRect( QPoint(1,1), QPoint(4953,1) );
1174 }
1175
1176 {
1177 QTest::newRow( "MiddleQRect_MinimumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MinimumInt )
1178 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MIN, INT_MAX / 2 ) );
1179 QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddleNegativeInt )
1180 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MIN/2, INT_MAX / 2 ) );
1181 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
1182 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(0, INT_MAX / 2 ));
1183 QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddlePositiveInt )
1184 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX/2, INT_MAX / 2 ));
1185 QTest::newRow( "MiddleQRect_MaximumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MaximumInt )
1186 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX, INT_MAX / 2 ));
1187 QTest::newRow( "MiddleQRect_RandomInt" ) << getQRectCase( MiddleQRect ) << getIntCase( RandomInt )
1188 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(4953, INT_MAX / 2 ));
1189 }
1190
1191 {
1192 QTest::newRow( "LargestQRect_MinimumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MinimumInt )
1193 << QRect( QPoint( 0, 0 ), QPoint( INT_MIN, INT_MAX - 1 ) );
1194 QTest::newRow( "LargestQRect_MiddleNegativeInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddleNegativeInt )
1195 << QRect( QPoint( 0, 0 ), QPoint( INT_MIN/2, INT_MAX - 1 ) );
1196 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
1197 << QRect( QPoint( 0, 0 ), QPoint( 0, INT_MAX - 1 ) );
1198 QTest::newRow( "LargestQRect_MiddlePositiveInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddlePositiveInt )
1199 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX/2, INT_MAX - 1 ) );
1200 QTest::newRow( "LargestQRect_MaximumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MaximumInt )
1201 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX, INT_MAX - 1 ) );
1202 QTest::newRow( "LargestQRect_RandomInt" ) << getQRectCase( LargestQRect ) << getIntCase( RandomInt )
1203 << QRect( QPoint( 0, 0 ), QPoint( 4953, INT_MAX - 1 ) );
1204 }
1205
1206 {
1207 QTest::newRow( "SmallestCoordQRect_MinimumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MinimumInt )
1208 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
1209 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
1210 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN/2, INT_MIN ) );
1211 QTest::newRow( "SmallestCoordQRect_ZeroInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( ZeroInt )
1212 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( 0, INT_MIN ) );
1213 QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddlePositiveInt )
1214 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX/2, INT_MIN ) );
1215 QTest::newRow( "SmallestCoordQRect_MaximumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MaximumInt )
1216 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MIN ) );
1217 QTest::newRow( "SmallestCoordQRect_RandomInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( RandomInt )
1218 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( 4953, INT_MIN ) );
1219 }
1220
1221 {
1222 QTest::newRow( "LargestCoordQRect_MinimumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MinimumInt )
1223 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MAX ) );
1224 QTest::newRow( "LargestCoordQRect_MiddleNegativeInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddleNegativeInt )
1225 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN/2, INT_MAX ) );
1226 QTest::newRow( "LargestCoordQRect_ZeroInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( ZeroInt )
1227 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( 0, INT_MAX ) );
1228 QTest::newRow( "LargestCoordQRect_MiddlePositiveInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddlePositiveInt )
1229 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX/2, INT_MAX ) );
1230 QTest::newRow( "LargestCoordQRect_MaximumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MaximumInt )
1231 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
1232 QTest::newRow( "LargestCoordQRect_RandomInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( RandomInt )
1233 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( 4953, INT_MAX ) );
1234 }
1235
1236 {
1237 QTest::newRow( "RandomQRect_MinimumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MinimumInt )
1238 << QRect( QPoint( 100, 200 ), QPoint( INT_MIN, 215 ) );
1239 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
1240 << QRect( QPoint( 100, 200 ), QPoint( INT_MIN/2, 215 ) );
1241 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
1242 << QRect( QPoint( 100, 200 ), QPoint( 0, 215 ) );
1243 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
1244 << QRect( QPoint( 100, 200 ), QPoint( INT_MAX/2, 215 ) );
1245 QTest::newRow( "RandomQRect_MaximumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MaximumInt )
1246 << QRect( QPoint( 100, 200 ), QPoint( INT_MAX, 215 ) );
1247 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
1248 << QRect( QPoint( 100, 200 ), QPoint( 4953, 215 ) );
1249 }
1250
1251 {
1252 QTest::newRow( "NegativeSizeQRect_MinimumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MinimumInt )
1253 << QRect( QPoint( 1, 1 ), QPoint( INT_MIN, -10 ) );
1254 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
1255 << QRect( QPoint( 1, 1 ), QPoint( INT_MIN/2, -10 ) );
1256 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
1257 << QRect( QPoint( 1, 1 ), QPoint( 0, -10 ) );
1258 QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddlePositiveInt )
1259 << QRect( QPoint( 1, 1 ), QPoint( INT_MAX/2, -10 ) );
1260 QTest::newRow( "NegativeSizeQRect_MaximumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MaximumInt )
1261 << QRect( QPoint( 1, 1 ), QPoint( INT_MAX, -10 ) );
1262 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
1263 << QRect( QPoint( 1, 1 ), QPoint( 4953, -10 ) );
1264 }
1265
1266 {
1267 QTest::newRow( "NegativePointQRect_MinimumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MinimumInt )
1268 << QRect( QPoint( -10, -10 ), QPoint( INT_MIN, -6 ) );
1269 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
1270 << QRect( QPoint( -10, -10 ), QPoint( INT_MIN/2, -6 ) );
1271 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
1272 << QRect( QPoint( -10, -10 ), QPoint( 0, -6 ) );
1273 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
1274 << QRect( QPoint( -10, -10 ), QPoint( INT_MAX/2, -6 ) );
1275 QTest::newRow( "NegativePointQRect_MaximumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MaximumInt )
1276 << QRect( QPoint( -10, -10 ), QPoint( INT_MAX, -6 ) );
1277 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
1278 << QRect( QPoint( -10, -10 ), QPoint( 4953, -6 ) );
1279 }
1280
1281 {
1282 QTest::newRow( "NullQRect_MinimumInt" ) << getQRectCase( NullQRect ) << getIntCase( MinimumInt )
1283 << QRect( QPoint( 5, 5 ), QPoint( INT_MIN, 4 ) );
1284 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
1285 << QRect( QPoint( 5, 5 ), QPoint( INT_MIN/2, 4 ) );
1286 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
1287 << QRect( QPoint( 5, 5 ), QPoint( 0, 4 ) );
1288 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
1289 << QRect( QPoint( 5, 5 ), QPoint( INT_MAX/2, 4 ) );
1290 QTest::newRow( "NullQRect_MaximumInt" ) << getQRectCase( NullQRect ) << getIntCase( MaximumInt )
1291 << QRect( QPoint( 5, 5 ), QPoint( INT_MAX, 4 ) );
1292 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
1293 << QRect( QPoint( 5, 5 ), QPoint( 4953, 4 ) );
1294 }
1295
1296 {
1297 QTest::newRow( "EmptyQRect_MinimumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MinimumInt )
1298 << QRect( QPoint( 2, 2 ), QPoint( INT_MIN, 1 ) );
1299 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
1300 << QRect( QPoint( 2, 2 ), QPoint( INT_MIN/2, 1 ) );
1301 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
1302 << QRect( QPoint( 2, 2 ), QPoint( 0, 1 ) );
1303 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
1304 << QRect( QPoint( 2, 2 ), QPoint( INT_MAX/2, 1 ) );
1305 QTest::newRow( "EmptyQRect_MaximumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MaximumInt )
1306 << QRect( QPoint( 2, 2 ), QPoint( INT_MAX, 1 ) );
1307 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
1308 << QRect( QPoint( 2, 2 ), QPoint( 4953, 1 ) );
1309 }
1310 }
1311
setRight()1312 void tst_QRect::setRight()
1313 {
1314 QFETCH( QRect, r );
1315 QFETCH( int, right );
1316 QFETCH( QRect, nr );
1317
1318 r.setRight( right );
1319
1320 QCOMPARE( r, nr );
1321 }
1322
setBottom_data()1323 void tst_QRect::setBottom_data()
1324 {
1325 QTest::addColumn<QRect>("r");
1326 QTest::addColumn<int>("bottom");
1327 QTest::addColumn<QRect>("nr");
1328
1329 {
1330 QTest::newRow( "InvalidQRect_MinimumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MinimumInt )
1331 << QRect( QPoint(0,0), QPoint(-1,INT_MIN) );
1332 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
1333 << QRect( QPoint(0,0), QPoint(-1,INT_MIN/2) );
1334 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
1335 << QRect( QPoint(0,0), QPoint(-1,0) );
1336 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
1337 << QRect( QPoint(0,0), QPoint(-1,INT_MAX/2) );
1338 QTest::newRow( "InvalidQRect_MaximumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MaximumInt )
1339 << QRect( QPoint(0,0), QPoint(-1,INT_MAX) );
1340 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
1341 << QRect( QPoint(0,0), QPoint(-1,4953) );
1342 }
1343
1344 {
1345 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
1346 << QRect( QPoint(1,1), QPoint(1,INT_MIN) );
1347 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
1348 << QRect( QPoint(1,1), QPoint(1,INT_MIN/2) );
1349 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
1350 << QRect( QPoint(1,1), QPoint(1,0) );
1351 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
1352 << QRect( QPoint(1,1), QPoint(1,INT_MAX/2) );
1353 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
1354 << QRect( QPoint(1,1), QPoint(1,INT_MAX) );
1355 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
1356 << QRect( QPoint(1,1), QPoint(1,4953) );
1357 }
1358
1359 {
1360 QTest::newRow( "MiddleQRect_MinimumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MinimumInt )
1361 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX / 2, INT_MIN ) );
1362 QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddleNegativeInt )
1363 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX / 2, INT_MIN / 2 ) );
1364 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
1365 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX / 2, 0) );
1366 QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddlePositiveInt )
1367 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX / 2, INT_MAX / 2 ) );
1368 QTest::newRow( "MiddleQRect_MaximumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MaximumInt )
1369 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX / 2, INT_MAX) );
1370 QTest::newRow( "MiddleQRect_RandomInt" ) << getQRectCase( MiddleQRect ) << getIntCase( RandomInt )
1371 << QRect( QPoint( INT_MIN / 2, INT_MIN / 2 ), QPoint(INT_MAX / 2, 4953) );
1372 }
1373
1374 {
1375 QTest::newRow( "LargestQRect_MinimumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MinimumInt )
1376 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, INT_MIN) );
1377 QTest::newRow( "LargestQRect_MiddleNegativeInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddleNegativeInt )
1378 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, INT_MIN/2) );
1379 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
1380 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, 0 ) );
1381 QTest::newRow( "LargestQRect_MiddlePositiveInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddlePositiveInt )
1382 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, INT_MAX/2 ) );
1383 QTest::newRow( "LargestQRect_MaximumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MaximumInt )
1384 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, INT_MAX ) );
1385 QTest::newRow( "LargestQRect_RandomInt" ) << getQRectCase( LargestQRect ) << getIntCase( RandomInt )
1386 << QRect( QPoint( 0, 0 ), QPoint( INT_MAX - 1, 4953) );
1387 }
1388
1389 {
1390 QTest::newRow( "SmallestCoordQRect_MinimumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MinimumInt )
1391 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MIN ) );
1392 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
1393 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MIN/2 ) );
1394 QTest::newRow( "SmallestCoordQRect_ZeroInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( ZeroInt )
1395 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, 0 ) );
1396 QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddlePositiveInt )
1397 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MAX/2 ) );
1398 QTest::newRow( "SmallestCoordQRect_MaximumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MaximumInt )
1399 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, INT_MAX ) );
1400 QTest::newRow( "SmallestCoordQRect_RandomInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( RandomInt )
1401 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MIN, 4953 ) );
1402 }
1403
1404 {
1405 QTest::newRow( "LargestCoordQRect_MinimumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MinimumInt )
1406 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MIN ) );
1407 QTest::newRow( "LargestCoordQRect_MiddleNegativeInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddleNegativeInt )
1408 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MIN/2 ) );
1409 QTest::newRow( "LargestCoordQRect_ZeroInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( ZeroInt )
1410 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, 0 ) );
1411 QTest::newRow( "LargestCoordQRect_MiddlePositiveInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddlePositiveInt )
1412 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MAX/2 ) );
1413 QTest::newRow( "LargestCoordQRect_MaximumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MaximumInt )
1414 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, INT_MAX ) );
1415 QTest::newRow( "LargestCoordQRect_RandomInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( RandomInt )
1416 << QRect( QPoint( INT_MIN, INT_MIN ), QPoint( INT_MAX, 4953 ) );
1417 }
1418
1419 {
1420 QTest::newRow( "RandomQRect_MinimumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MinimumInt )
1421 << QRect( QPoint( 100, 200 ), QPoint( 110, INT_MIN ) );
1422 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
1423 << QRect( QPoint( 100, 200 ), QPoint( 110, INT_MIN/2 ) );
1424 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
1425 << QRect( QPoint( 100, 200 ), QPoint( 110, 0) );
1426 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
1427 << QRect( QPoint( 100, 200 ), QPoint( 110, INT_MAX/2) );
1428 QTest::newRow( "RandomQRect_MaximumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MaximumInt )
1429 << QRect( QPoint( 100, 200 ), QPoint( 110, INT_MAX ) );
1430 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
1431 << QRect( QPoint( 100, 200 ), QPoint( 110,4953 ) );
1432 }
1433
1434 {
1435 QTest::newRow( "NegativeSizeQRect_MinimumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MinimumInt )
1436 << QRect( QPoint( 1, 1 ), QPoint( -10, INT_MIN ) );
1437 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
1438 << QRect( QPoint( 1, 1 ), QPoint( -10, INT_MIN/2 ) );
1439 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
1440 << QRect( QPoint( 1, 1 ), QPoint( -10, 0 ) );
1441 QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddlePositiveInt )
1442 << QRect( QPoint( 1, 1 ), QPoint( -10, INT_MAX/2 ) );
1443 QTest::newRow( "NegativeSizeQRect_MaximumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MaximumInt )
1444 << QRect( QPoint( 1, 1 ), QPoint( -10, INT_MAX ) );
1445 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
1446 << QRect( QPoint( 1, 1 ), QPoint( -10, 4953 ) );
1447 }
1448
1449 {
1450 QTest::newRow( "NegativePointQRect_MinimumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MinimumInt )
1451 << QRect( QPoint( -10, -10 ), QPoint( -6, INT_MIN ) );
1452 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
1453 << QRect( QPoint( -10, -10 ), QPoint( -6, INT_MIN/2 ) );
1454 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
1455 << QRect( QPoint( -10, -10 ), QPoint( -6, 0 ) );
1456 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
1457 << QRect( QPoint( -10, -10 ), QPoint( -6, INT_MAX/2 ) );
1458 QTest::newRow( "NegativePointQRect_MaximumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MaximumInt )
1459 << QRect( QPoint( -10, -10 ), QPoint( -6, INT_MAX ) );
1460 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
1461 << QRect( QPoint( -10, -10 ), QPoint( -6, 4953 ) );
1462 }
1463
1464 {
1465 QTest::newRow( "NullQRect_MinimumInt" ) << getQRectCase( NullQRect ) << getIntCase( MinimumInt )
1466 << QRect( QPoint( 5, 5 ), QPoint( 4, INT_MIN ) );
1467 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
1468 << QRect( QPoint( 5, 5 ), QPoint( 4, INT_MIN/2 ) );
1469 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
1470 << QRect( QPoint( 5, 5 ), QPoint( 4, 0 ) );
1471 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
1472 << QRect( QPoint( 5, 5 ), QPoint( 4, INT_MAX/2 ) );
1473 QTest::newRow( "NullQRect_MaximumInt" ) << getQRectCase( NullQRect ) << getIntCase( MaximumInt )
1474 << QRect( QPoint( 5, 5 ), QPoint( 4, INT_MAX ) );
1475 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
1476 << QRect( QPoint( 5, 5 ), QPoint( 4, 4953 ) );
1477 }
1478
1479 {
1480 QTest::newRow( "EmptyQRect_MinimumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MinimumInt )
1481 << QRect( QPoint( 2, 2 ), QPoint( 1, INT_MIN ) );
1482 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
1483 << QRect( QPoint( 2, 2 ), QPoint( 1, INT_MIN/2 ) );
1484 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
1485 << QRect( QPoint( 2, 2 ), QPoint( 1, 0 ) );
1486 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
1487 << QRect( QPoint( 2, 2 ), QPoint( 1, INT_MAX/2 ) );
1488 QTest::newRow( "EmptyQRect_MaximumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MaximumInt )
1489 << QRect( QPoint( 2, 2 ), QPoint( 1, INT_MAX ) );
1490 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
1491 << QRect( QPoint( 2, 2 ), QPoint( 1, 4953 ) );
1492 }
1493 }
1494
setBottom()1495 void tst_QRect::setBottom()
1496 {
1497 QFETCH( QRect, r );
1498 QFETCH( int, bottom );
1499 QFETCH( QRect, nr );
1500
1501 r.setBottom( bottom );
1502
1503 QCOMPARE( r, nr );
1504 }
1505
setX()1506 void tst_QRect::setX()
1507 {
1508 DEPENDS_ON( "setLeft" );
1509 }
1510
setY()1511 void tst_QRect::setY()
1512 {
1513 DEPENDS_ON( "setTop" );
1514 }
1515
newSetTopLeft_data()1516 void tst_QRect::newSetTopLeft_data()
1517 {
1518 QTest::addColumn<QRect>("r");
1519 QTest::addColumn<QPoint>("topLeft");
1520 QTest::addColumn<QRect>("nr");
1521
1522 {
1523 QTest::newRow("InvalidQRect_NullQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NullQPoint)
1524 << QRect(QPoint(0,0), QPoint(-1,-1));
1525 QTest::newRow("InvalidQRect_SmallestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(SmallestCoordQPoint)
1526 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(-1,-1));
1527 QTest::newRow("InvalidQRect_MiddleNegCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddleNegCoordQPoint)
1528 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(-1,-1));
1529 QTest::newRow("InvalidQRect_MiddlePosCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddlePosCoordQPoint)
1530 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(-1,-1));
1531 QTest::newRow("InvalidQRect_LargestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(LargestCoordQPoint)
1532 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(-1,-1));
1533 QTest::newRow("InvalidQRect_NegXQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegXQPoint)
1534 << QRect(QPoint(-12,7), QPoint(-1,-1));
1535 QTest::newRow("InvalidQRect_NegYQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegYQPoint)
1536 << QRect(QPoint(12,-7), QPoint(-1,-1));
1537 QTest::newRow("InvalidQRect_RandomQPoint") << getQRectCase(InvalidQRect) << getQPointCase(RandomQPoint)
1538 << QRect(QPoint(12,7), QPoint(-1,-1));
1539 }
1540
1541 {
1542 QTest::newRow("SmallestQRect_NullQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NullQPoint)
1543 << QRect(QPoint(0,0), QPoint(1,1));
1544 QTest::newRow("SmallestQRect_SmallestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(SmallestCoordQPoint)
1545 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(1,1));
1546 QTest::newRow("SmallestQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddleNegCoordQPoint)
1547 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(1,1));
1548 QTest::newRow("SmallestQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddlePosCoordQPoint)
1549 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(1,1));
1550 QTest::newRow("SmallestQRect_LargestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(LargestCoordQPoint)
1551 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(1,1));
1552 QTest::newRow("SmallestQRect_NegXQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegXQPoint)
1553 << QRect(QPoint(-12,7), QPoint(1,1));
1554 QTest::newRow("SmallestQRect_NegYQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegYQPoint)
1555 << QRect(QPoint(12,-7), QPoint(1,1));
1556 QTest::newRow("SmallestQRect_RandomQPoint") << getQRectCase(SmallestQRect) << getQPointCase(RandomQPoint)
1557 << QRect(QPoint(12,7), QPoint(1,1));
1558 }
1559
1560 {
1561 QTest::newRow("MiddleQRect_NullQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NullQPoint)
1562 << QRect(QPoint(0,0), QPoint(INT_MAX/2,INT_MAX/2));
1563 QTest::newRow("MiddleQRect_SmallestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(SmallestCoordQPoint)
1564 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX/2,INT_MAX/2));
1565 QTest::newRow("MiddleQRect_MiddleNegCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddleNegCoordQPoint)
1566 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MAX/2,INT_MAX/2));
1567 QTest::newRow("MiddleQRect_MiddlePosCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddlePosCoordQPoint)
1568 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(INT_MAX/2,INT_MAX/2));
1569 QTest::newRow("MiddleQRect_LargestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(LargestCoordQPoint)
1570 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MAX/2,INT_MAX/2));
1571 QTest::newRow("MiddleQRect_NegXQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegXQPoint)
1572 << QRect(QPoint(-12,7), QPoint(INT_MAX/2,INT_MAX/2));
1573 QTest::newRow("MiddleQRect_NegYQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegYQPoint)
1574 << QRect(QPoint(12,-7), QPoint(INT_MAX/2,INT_MAX/2));
1575 QTest::newRow("MiddleQRect_RandomQPoint") << getQRectCase(MiddleQRect) << getQPointCase(RandomQPoint)
1576 << QRect(QPoint(12,7), QPoint(INT_MAX/2,INT_MAX/2));
1577 }
1578
1579 {
1580 QTest::newRow("LargestQRect_NullQPoint") << getQRectCase(LargestQRect) << getQPointCase(NullQPoint)
1581 << QRect(QPoint(0,0), QPoint(INT_MAX-1,INT_MAX-1));
1582 QTest::newRow("LargestQRect_SmallestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(SmallestCoordQPoint)
1583 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX-1,INT_MAX-1));
1584 QTest::newRow("LargestQRect_MiddleNegCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddleNegCoordQPoint)
1585 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MAX-1,INT_MAX-1));
1586 QTest::newRow("LargestQRect_MiddlePosCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddlePosCoordQPoint)
1587 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(INT_MAX-1,INT_MAX-1));
1588 QTest::newRow("LargestQRect_LargestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(LargestCoordQPoint)
1589 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MAX-1,INT_MAX-1));
1590 QTest::newRow("LargestQRect_NegXQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegXQPoint)
1591 << QRect(QPoint(-12,7), QPoint(INT_MAX-1,INT_MAX-1));
1592 QTest::newRow("LargestQRect_NegYQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegYQPoint)
1593 << QRect(QPoint(12,-7), QPoint(INT_MAX-1,INT_MAX-1));
1594 QTest::newRow("LargestQRect_RandomQPoint") << getQRectCase(LargestQRect) << getQPointCase(RandomQPoint)
1595 << QRect(QPoint(12,7), QPoint(INT_MAX-1,INT_MAX-1));
1596 }
1597
1598 {
1599 QTest::newRow("SmallestCoordQRect_NullQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NullQPoint)
1600 << QRect(QPoint(0,0), QPoint(INT_MIN,INT_MIN));
1601 QTest::newRow("SmallestCoordQRect_SmallestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(SmallestCoordQPoint)
1602 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN,INT_MIN));
1603 QTest::newRow("SmallestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
1604 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MIN,INT_MIN));
1605 QTest::newRow("SmallestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
1606 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(INT_MIN,INT_MIN));
1607 QTest::newRow("SmallestCoordQRect_LargestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(LargestCoordQPoint)
1608 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MIN,INT_MIN));
1609 QTest::newRow("SmallestCoordQRect_NegXQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegXQPoint)
1610 << QRect(QPoint(-12,7), QPoint(INT_MIN,INT_MIN));
1611 QTest::newRow("SmallestCoordQRect_NegYQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegYQPoint)
1612 << QRect(QPoint(12,-7), QPoint(INT_MIN,INT_MIN));
1613 QTest::newRow("SmallestCoordQRect_RandomQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(RandomQPoint)
1614 << QRect(QPoint(12,7), QPoint(INT_MIN,INT_MIN));
1615 }
1616
1617 {
1618 QTest::newRow("LargestCoordQRect_NullQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NullQPoint)
1619 << QRect(QPoint(0,0), QPoint(INT_MAX,INT_MAX));
1620 QTest::newRow("LargestCoordQRect_SmallestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(SmallestCoordQPoint)
1621 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX,INT_MAX));
1622 QTest::newRow("LargestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
1623 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MAX,INT_MAX));
1624 QTest::newRow("LargestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
1625 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(INT_MAX,INT_MAX));
1626 QTest::newRow("LargestCoordQRect_LargestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(LargestCoordQPoint)
1627 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MAX,INT_MAX));
1628 QTest::newRow("LargestCoordQRect_NegXQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegXQPoint)
1629 << QRect(QPoint(-12,7), QPoint(INT_MAX,INT_MAX));
1630 QTest::newRow("LargestCoordQRect_NegYQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegYQPoint)
1631 << QRect(QPoint(12,-7), QPoint(INT_MAX,INT_MAX));
1632 QTest::newRow("LargestCoordQRect_RandomQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(RandomQPoint)
1633 << QRect(QPoint(12,7), QPoint(INT_MAX,INT_MAX));
1634 }
1635
1636 {
1637 QTest::newRow("RandomQRect_NullQPoint") << getQRectCase(RandomQRect) << getQPointCase(NullQPoint)
1638 << QRect(QPoint(0,0), QPoint(110,215));
1639 QTest::newRow("RandomQRect_SmallestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(SmallestCoordQPoint)
1640 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(110,215));
1641 QTest::newRow("RandomQRect_MiddleNegCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddleNegCoordQPoint)
1642 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(110,215));
1643 QTest::newRow("RandomQRect_MiddlePosCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddlePosCoordQPoint)
1644 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(110,215));
1645 QTest::newRow("RandomQRect_LargestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(LargestCoordQPoint)
1646 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(110,215));
1647 QTest::newRow("RandomQRect_NegXQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegXQPoint)
1648 << QRect(QPoint(-12,7), QPoint(110,215));
1649 QTest::newRow("RandomQRect_NegYQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegYQPoint)
1650 << QRect(QPoint(12,-7), QPoint(110,215));
1651 QTest::newRow("RandomQRect_RandomQPoint") << getQRectCase(RandomQRect) << getQPointCase(RandomQPoint)
1652 << QRect(QPoint(12,7), QPoint(110,215));
1653 }
1654
1655 {
1656 QTest::newRow("NegativeSizeQRect_NullQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NullQPoint)
1657 << QRect(QPoint(0,0), QPoint(-10,-10));
1658 QTest::newRow("NegativeSizeQRect_SmallestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(SmallestCoordQPoint)
1659 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(-10,-10));
1660 QTest::newRow("NegativeSizeQRect_MiddleNegCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddleNegCoordQPoint)
1661 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(-10,-10));
1662 QTest::newRow("NegativeSizeQRect_MiddlePosCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddlePosCoordQPoint)
1663 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(-10,-10));
1664 QTest::newRow("NegativeSizeQRect_LargestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(LargestCoordQPoint)
1665 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(-10,-10));
1666 QTest::newRow("NegativeSizeQRect_NegXQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegXQPoint)
1667 << QRect(QPoint(-12,7), QPoint(-10,-10));
1668 QTest::newRow("NegativeSizeQRect_NegYQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegYQPoint)
1669 << QRect(QPoint(12,-7), QPoint(-10,-10));
1670 QTest::newRow("NegativeSizeQRect_RandomQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(RandomQPoint)
1671 << QRect(QPoint(12,7), QPoint(-10,-10));
1672 }
1673
1674 {
1675 QTest::newRow("NegativePointQRect_NullQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NullQPoint)
1676 << QRect(QPoint(0,0), QPoint(-6,-6));
1677 QTest::newRow("NegativePointQRect_SmallestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(SmallestCoordQPoint)
1678 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(-6,-6));
1679 QTest::newRow("NegativePointQRect_MiddleNegCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddleNegCoordQPoint)
1680 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(-6,-6));
1681 QTest::newRow("NegativePointQRect_MiddlePosCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddlePosCoordQPoint)
1682 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(-6,-6));
1683 QTest::newRow("NegativePointQRect_LargestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(LargestCoordQPoint)
1684 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(-6,-6));
1685 QTest::newRow("NegativePointQRect_NegXQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegXQPoint)
1686 << QRect(QPoint(-12,7), QPoint(-6,-6));
1687 QTest::newRow("NegativePointQRect_NegYQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegYQPoint)
1688 << QRect(QPoint(12,-7), QPoint(-6,-6));
1689 QTest::newRow("NegativePointQRect_RandomQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(RandomQPoint)
1690 << QRect(QPoint(12,7), QPoint(-6,-6));
1691 }
1692
1693 {
1694 QTest::newRow("NullQRect_NullQPoint") << getQRectCase(NullQRect) << getQPointCase(NullQPoint)
1695 << QRect(QPoint(0,0), QPoint(4,4));
1696 QTest::newRow("NullQRect_SmallestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(SmallestCoordQPoint)
1697 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(4,4));
1698 QTest::newRow("NullQRect_MiddleNegCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddleNegCoordQPoint)
1699 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(4,4));
1700 QTest::newRow("NullQRect_MiddlePosCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddlePosCoordQPoint)
1701 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(4,4));
1702 QTest::newRow("NullQRect_LargestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(LargestCoordQPoint)
1703 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(4,4));
1704 QTest::newRow("NullQRect_NegXQPoint") << getQRectCase(NullQRect) << getQPointCase(NegXQPoint)
1705 << QRect(QPoint(-12,7), QPoint(4,4));
1706 QTest::newRow("NullQRect_NegYQPoint") << getQRectCase(NullQRect) << getQPointCase(NegYQPoint)
1707 << QRect(QPoint(12,-7), QPoint(4,4));
1708 QTest::newRow("NullQRect_RandomQPoint") << getQRectCase(NullQRect) << getQPointCase(RandomQPoint)
1709 << QRect(QPoint(12,7), QPoint(4,4));
1710 }
1711
1712 {
1713 QTest::newRow("EmptyQRect_NullQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NullQPoint)
1714 << QRect(QPoint(0,0), QPoint(1,1));
1715 QTest::newRow("EmptyQRect_SmallestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(SmallestCoordQPoint)
1716 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(1,1));
1717 QTest::newRow("EmptyQRect_MiddleNegCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddleNegCoordQPoint)
1718 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(1,1));
1719 QTest::newRow("EmptyQRect_MiddlePosCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddlePosCoordQPoint)
1720 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(1,1));
1721 QTest::newRow("EmptyQRect_LargestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(LargestCoordQPoint)
1722 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(1,1));
1723 QTest::newRow("EmptyQRect_NegXQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegXQPoint)
1724 << QRect(QPoint(-12,7), QPoint(1,1));
1725 QTest::newRow("EmptyQRect_NegYQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegYQPoint)
1726 << QRect(QPoint(12,-7), QPoint(1,1));
1727 QTest::newRow("EmptyQRect_RandomQPoint") << getQRectCase(EmptyQRect) << getQPointCase(RandomQPoint)
1728 << QRect(QPoint(12,7), QPoint(1,1));
1729 }
1730 }
1731
newSetTopLeft()1732 void tst_QRect::newSetTopLeft()
1733 {
1734 QFETCH( QRect, r );
1735 QFETCH( QPoint, topLeft );
1736 QFETCH( QRect, nr );
1737
1738 r.setTopLeft( topLeft );
1739 QCOMPARE( r, nr );
1740 }
1741
newSetBottomRight_data()1742 void tst_QRect::newSetBottomRight_data()
1743 {
1744 QTest::addColumn<QRect>("r");
1745 QTest::addColumn<QPoint>("bottomRight");
1746 QTest::addColumn<QRect>("nr");
1747
1748 {
1749 QTest::newRow("InvalidQRect_NullQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NullQPoint)
1750 << QRect(QPoint(0,0), QPoint(0,0));
1751 QTest::newRow("InvalidQRect_SmallestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(SmallestCoordQPoint)
1752 << QRect(QPoint(0,0), QPoint(INT_MIN,INT_MIN));
1753 QTest::newRow("InvalidQRect_MiddleNegCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddleNegCoordQPoint)
1754 << QRect(QPoint(0,0), QPoint(INT_MIN/2,INT_MIN/2));
1755 QTest::newRow("InvalidQRect_MiddlePosCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddlePosCoordQPoint)
1756 << QRect(QPoint(0,0), QPoint(INT_MAX/2,INT_MAX/2));
1757 QTest::newRow("InvalidQRect_LargestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(LargestCoordQPoint)
1758 << QRect(QPoint(0,0), QPoint(INT_MAX,INT_MAX));
1759 QTest::newRow("InvalidQRect_NegXQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegXQPoint)
1760 << QRect(QPoint(0,0), QPoint(-12,7));
1761 QTest::newRow("InvalidQRect_NegYQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegYQPoint)
1762 << QRect(QPoint(0,0), QPoint(12,-7));
1763 QTest::newRow("InvalidQRect_RandomQPoint") << getQRectCase(InvalidQRect) << getQPointCase(RandomQPoint)
1764 << QRect(QPoint(0,0), QPoint(12,7));
1765 }
1766
1767 {
1768 QTest::newRow("SmallestQRect_NullQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NullQPoint)
1769 << QRect(QPoint(1,1), QPoint(0,0));
1770 QTest::newRow("SmallestQRect_SmallestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(SmallestCoordQPoint)
1771 << QRect(QPoint(1,1), QPoint(INT_MIN,INT_MIN));
1772 QTest::newRow("SmallestQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddleNegCoordQPoint)
1773 << QRect(QPoint(1,1), QPoint(INT_MIN/2,INT_MIN/2));
1774 QTest::newRow("SmallestQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddlePosCoordQPoint)
1775 << QRect(QPoint(1,1), QPoint(INT_MAX/2,INT_MAX/2));
1776 QTest::newRow("SmallestQRect_LargestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(LargestCoordQPoint)
1777 << QRect(QPoint(1,1), QPoint(INT_MAX,INT_MAX));
1778 QTest::newRow("SmallestQRect_NegXQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegXQPoint)
1779 << QRect(QPoint(1,1), QPoint(-12,7));
1780 QTest::newRow("SmallestQRect_NegYQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegYQPoint)
1781 << QRect(QPoint(1,1), QPoint(12,-7));
1782 QTest::newRow("SmallestQRect_RandomQPoint") << getQRectCase(SmallestQRect) << getQPointCase(RandomQPoint)
1783 << QRect(QPoint(1,1), QPoint(12,7));
1784 }
1785
1786 {
1787 QTest::newRow("MiddleQRect_NullQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NullQPoint)
1788 << QRect(QPoint(QPoint(INT_MIN/2,INT_MIN/2)), QPoint(0,0));
1789 QTest::newRow("MiddleQRect_SmallestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(SmallestCoordQPoint)
1790 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MIN,INT_MIN));
1791 QTest::newRow("MiddleQRect_MiddleNegCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddleNegCoordQPoint)
1792 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MIN/2,INT_MIN/2));
1793 QTest::newRow("MiddleQRect_MiddlePosCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddlePosCoordQPoint)
1794 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MAX/2,INT_MAX/2));
1795 QTest::newRow("MiddleQRect_LargestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(LargestCoordQPoint)
1796 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MAX,INT_MAX));
1797 QTest::newRow("MiddleQRect_NegXQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegXQPoint)
1798 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(-12,7));
1799 QTest::newRow("MiddleQRect_NegYQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegYQPoint)
1800 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(12,-7));
1801 QTest::newRow("MiddleQRect_RandomQPoint") << getQRectCase(MiddleQRect) << getQPointCase(RandomQPoint)
1802 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(12,7));
1803 }
1804
1805 {
1806 QTest::newRow("LargestQRect_NullQPoint") << getQRectCase(LargestQRect) << getQPointCase(NullQPoint)
1807 << QRect(QPoint(0,0), QPoint(0,0));
1808 QTest::newRow("LargestQRect_SmallestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(SmallestCoordQPoint)
1809 << QRect(QPoint(0,0), QPoint(INT_MIN,INT_MIN));
1810 QTest::newRow("LargestQRect_MiddleNegCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddleNegCoordQPoint)
1811 << QRect(QPoint(0,0), QPoint(INT_MIN/2,INT_MIN/2));
1812 QTest::newRow("LargestQRect_MiddlePosCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddlePosCoordQPoint)
1813 << QRect(QPoint(0,0), QPoint(INT_MAX/2,INT_MAX/2));
1814 QTest::newRow("LargestQRect_LargestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(LargestCoordQPoint)
1815 << QRect(QPoint(0,0), QPoint(INT_MAX,INT_MAX));
1816 QTest::newRow("LargestQRect_NegXQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegXQPoint)
1817 << QRect(QPoint(0,0), QPoint(-12,7));
1818 QTest::newRow("LargestQRect_NegYQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegYQPoint)
1819 << QRect(QPoint(0,0), QPoint(12,-7));
1820 QTest::newRow("LargestQRect_RandomQPoint") << getQRectCase(LargestQRect) << getQPointCase(RandomQPoint)
1821 << QRect(QPoint(0,0), QPoint(12,7));
1822 }
1823
1824 {
1825 QTest::newRow("SmallestCoordQRect_NullQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NullQPoint)
1826 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(0,0));
1827 QTest::newRow("SmallestCoordQRect_SmallestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(SmallestCoordQPoint)
1828 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN,INT_MIN));
1829 QTest::newRow("SmallestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
1830 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN/2,INT_MIN/2));
1831 QTest::newRow("SmallestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
1832 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX/2,INT_MAX/2));
1833 QTest::newRow("SmallestCoordQRect_LargestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(LargestCoordQPoint)
1834 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX,INT_MAX));
1835 QTest::newRow("SmallestCoordQRect_NegXQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegXQPoint)
1836 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(-12,7));
1837 QTest::newRow("SmallestCoordQRect_NegYQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegYQPoint)
1838 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(12,-7));
1839 QTest::newRow("SmallestCoordQRect_RandomQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(RandomQPoint)
1840 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(12,7));
1841 }
1842
1843 {
1844 QTest::newRow("LargestCoordQRect_NullQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NullQPoint)
1845 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(0,0));
1846 QTest::newRow("LargestCoordQRect_SmallestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(SmallestCoordQPoint)
1847 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN,INT_MIN));
1848 QTest::newRow("LargestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
1849 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN/2,INT_MIN/2));
1850 QTest::newRow("LargestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
1851 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX/2,INT_MAX/2));
1852 QTest::newRow("LargestCoordQRect_LargestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(LargestCoordQPoint)
1853 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX,INT_MAX));
1854 QTest::newRow("LargestCoordQRect_NegXQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegXQPoint)
1855 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(-12,7));
1856 QTest::newRow("LargestCoordQRect_NegYQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegYQPoint)
1857 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(12,-7));
1858 QTest::newRow("LargestCoordQRect_RandomQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(RandomQPoint)
1859 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(12,7));
1860 }
1861
1862 {
1863 QTest::newRow("RandomQRect_NullQPoint") << getQRectCase(RandomQRect) << getQPointCase(NullQPoint)
1864 << QRect(QPoint(100,200), QPoint(0,0));
1865 QTest::newRow("RandomQRect_SmallestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(SmallestCoordQPoint)
1866 << QRect(QPoint(100,200), QPoint(INT_MIN,INT_MIN));
1867 QTest::newRow("RandomQRect_MiddleNegCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddleNegCoordQPoint)
1868 << QRect(QPoint(100,200), QPoint(INT_MIN/2,INT_MIN/2));
1869 QTest::newRow("RandomQRect_MiddlePosCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddlePosCoordQPoint)
1870 << QRect(QPoint(100,200), QPoint(INT_MAX/2,INT_MAX/2));
1871 QTest::newRow("RandomQRect_LargestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(LargestCoordQPoint)
1872 << QRect(QPoint(100,200), QPoint(INT_MAX,INT_MAX));
1873 QTest::newRow("RandomQRect_NegXQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegXQPoint)
1874 << QRect(QPoint(100,200), QPoint(-12,7));
1875 QTest::newRow("RandomQRect_NegYQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegYQPoint)
1876 << QRect(QPoint(100,200), QPoint(12,-7));
1877 QTest::newRow("RandomQRect_RandomQPoint") << getQRectCase(RandomQRect) << getQPointCase(RandomQPoint)
1878 << QRect(QPoint(100,200), QPoint(12,7));
1879 }
1880
1881 {
1882 QTest::newRow("NegativeSizeQRect_NullQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NullQPoint)
1883 << QRect(QPoint(1,1), QPoint(0,0));
1884 QTest::newRow("NegativeSizeQRect_SmallestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(SmallestCoordQPoint)
1885 << QRect(QPoint(1,1), QPoint(INT_MIN,INT_MIN));
1886 QTest::newRow("NegativeSizeQRect_MiddleNegCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddleNegCoordQPoint)
1887 << QRect(QPoint(1,1), QPoint(INT_MIN/2,INT_MIN/2));
1888 QTest::newRow("NegativeSizeQRect_MiddlePosCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddlePosCoordQPoint)
1889 << QRect(QPoint(1,1), QPoint(INT_MAX/2,INT_MAX/2));
1890 QTest::newRow("NegativeSizeQRect_LargestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(LargestCoordQPoint)
1891 << QRect(QPoint(1,1), QPoint(INT_MAX,INT_MAX));
1892 QTest::newRow("NegativeSizeQRect_NegXQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegXQPoint)
1893 << QRect(QPoint(1,1), QPoint(-12,7));
1894 QTest::newRow("NegativeSizeQRect_NegYQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegYQPoint)
1895 << QRect(QPoint(1,1), QPoint(12,-7));
1896 QTest::newRow("NegativeSizeQRect_RandomQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(RandomQPoint)
1897 << QRect(QPoint(1,1), QPoint(12,7));
1898 }
1899
1900 {
1901 QTest::newRow("NegativePointQRect_NullQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NullQPoint)
1902 << QRect(QPoint(-10,-10), QPoint(0,0));
1903 QTest::newRow("NegativePointQRect_SmallestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(SmallestCoordQPoint)
1904 << QRect(QPoint(-10,-10), QPoint(INT_MIN,INT_MIN));
1905 QTest::newRow("NegativePointQRect_MiddleNegCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddleNegCoordQPoint)
1906 << QRect(QPoint(-10,-10), QPoint(INT_MIN/2,INT_MIN/2));
1907 QTest::newRow("NegativePointQRect_MiddlePosCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddlePosCoordQPoint)
1908 << QRect(QPoint(-10,-10), QPoint(INT_MAX/2,INT_MAX/2));
1909 QTest::newRow("NegativePointQRect_LargestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(LargestCoordQPoint)
1910 << QRect(QPoint(-10,-10), QPoint(INT_MAX,INT_MAX));
1911 QTest::newRow("NegativePointQRect_NegXQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegXQPoint)
1912 << QRect(QPoint(-10,-10), QPoint(-12,7));
1913 QTest::newRow("NegativePointQRect_NegYQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegYQPoint)
1914 << QRect(QPoint(-10,-10), QPoint(12,-7));
1915 QTest::newRow("NegativePointQRect_RandomQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(RandomQPoint)
1916 << QRect(QPoint(-10,-10), QPoint(12,7));
1917 }
1918
1919 {
1920 QTest::newRow("NullQRect_NullQPoint") << getQRectCase(NullQRect) << getQPointCase(NullQPoint)
1921 << QRect(QPoint(5,5), QPoint(0,0));
1922 QTest::newRow("NullQRect_SmallestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(SmallestCoordQPoint)
1923 << QRect(QPoint(5,5), QPoint(INT_MIN,INT_MIN));
1924 QTest::newRow("NullQRect_MiddleNegCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddleNegCoordQPoint)
1925 << QRect(QPoint(5,5), QPoint(INT_MIN/2,INT_MIN/2));
1926 QTest::newRow("NullQRect_MiddlePosCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddlePosCoordQPoint)
1927 << QRect(QPoint(5,5), QPoint(INT_MAX/2,INT_MAX/2));
1928 QTest::newRow("NullQRect_LargestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(LargestCoordQPoint)
1929 << QRect(QPoint(5,5), QPoint(INT_MAX,INT_MAX));
1930 QTest::newRow("NullQRect_NegXQPoint") << getQRectCase(NullQRect) << getQPointCase(NegXQPoint)
1931 << QRect(QPoint(5,5), QPoint(-12,7));
1932 QTest::newRow("NullQRect_NegYQPoint") << getQRectCase(NullQRect) << getQPointCase(NegYQPoint)
1933 << QRect(QPoint(5,5), QPoint(12,-7));
1934 QTest::newRow("NullQRect_RandomQPoint") << getQRectCase(NullQRect) << getQPointCase(RandomQPoint)
1935 << QRect(QPoint(5,5), QPoint(12,7));
1936 }
1937
1938 {
1939 QTest::newRow("EmptyQRect_NullQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NullQPoint)
1940 << QRect(QPoint(2,2), QPoint(0,0));
1941 QTest::newRow("EmptyQRect_SmallestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(SmallestCoordQPoint)
1942 << QRect(QPoint(2,2), QPoint(INT_MIN,INT_MIN));
1943 QTest::newRow("EmptyQRect_MiddleNegCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddleNegCoordQPoint)
1944 << QRect(QPoint(2,2), QPoint(INT_MIN/2,INT_MIN/2));
1945 QTest::newRow("EmptyQRect_MiddlePosCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddlePosCoordQPoint)
1946 << QRect(QPoint(2,2), QPoint(INT_MAX/2,INT_MAX/2));
1947 QTest::newRow("EmptyQRect_LargestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(LargestCoordQPoint)
1948 << QRect(QPoint(2,2), QPoint(INT_MAX,INT_MAX));
1949 QTest::newRow("EmptyQRect_NegXQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegXQPoint)
1950 << QRect(QPoint(2,2), QPoint(-12,7));
1951 QTest::newRow("EmptyQRect_NegYQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegYQPoint)
1952 << QRect(QPoint(2,2), QPoint(12,-7));
1953 QTest::newRow("EmptyQRect_RandomQPoint") << getQRectCase(EmptyQRect) << getQPointCase(RandomQPoint)
1954 << QRect(QPoint(2,2), QPoint(12,7));
1955 }
1956 }
1957
newSetBottomRight()1958 void tst_QRect::newSetBottomRight()
1959 {
1960 QFETCH( QRect, r );
1961 QFETCH( QPoint, bottomRight );
1962 QFETCH( QRect, nr );
1963
1964 r.setBottomRight( bottomRight );
1965
1966 QCOMPARE( r, nr );
1967 }
1968
newSetTopRight_data()1969 void tst_QRect::newSetTopRight_data()
1970 {
1971 QTest::addColumn<QRect>("r");
1972 QTest::addColumn<QPoint>("topRight");
1973 QTest::addColumn<QRect>("nr");
1974
1975 {
1976 QTest::newRow("InvalidQRect_NullQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NullQPoint)
1977 << QRect(QPoint(0,0), QPoint(0,-1));
1978 QTest::newRow("InvalidQRect_SmallestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(SmallestCoordQPoint)
1979 << QRect(QPoint(0,INT_MIN), QPoint(INT_MIN,-1));
1980 QTest::newRow("InvalidQRect_MiddleNegCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddleNegCoordQPoint)
1981 << QRect(QPoint(0,INT_MIN/2), QPoint(INT_MIN/2,-1));
1982 QTest::newRow("InvalidQRect_MiddlePosCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddlePosCoordQPoint)
1983 << QRect(QPoint(0,INT_MAX/2), QPoint(INT_MAX/2,-1));
1984 QTest::newRow("InvalidQRect_LargestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(LargestCoordQPoint)
1985 << QRect(QPoint(0,INT_MAX), QPoint(INT_MAX,-1));
1986 QTest::newRow("InvalidQRect_NegXQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegXQPoint)
1987 << QRect(QPoint(0,7), QPoint(-12,-1));
1988 QTest::newRow("InvalidQRect_NegYQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegYQPoint)
1989 << QRect(QPoint(0,-7), QPoint(12,-1));
1990 QTest::newRow("InvalidQRect_RandomQPoint") << getQRectCase(InvalidQRect) << getQPointCase(RandomQPoint)
1991 << QRect(QPoint(0,7), QPoint(12,-1));
1992 }
1993
1994 {
1995 QTest::newRow("SmallestQRect_NullQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NullQPoint)
1996 << QRect(QPoint(1,0), QPoint(0,1));
1997 QTest::newRow("SmallestQRect_SmallestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(SmallestCoordQPoint)
1998 << QRect(QPoint(1,INT_MIN), QPoint(INT_MIN,1));
1999 QTest::newRow("SmallestQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddleNegCoordQPoint)
2000 << QRect(QPoint(1,INT_MIN/2), QPoint(INT_MIN/2,1));
2001 QTest::newRow("SmallestQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddlePosCoordQPoint)
2002 << QRect(QPoint(1,INT_MAX/2), QPoint(INT_MAX/2,1));
2003 QTest::newRow("SmallestQRect_LargestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(LargestCoordQPoint)
2004 << QRect(QPoint(1,INT_MAX), QPoint(INT_MAX,1));
2005 QTest::newRow("SmallestQRect_NegXQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegXQPoint)
2006 << QRect(QPoint(1,7), QPoint(-12,1));
2007 QTest::newRow("SmallestQRect_NegYQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegYQPoint)
2008 << QRect(QPoint(1,-7), QPoint(12,1));
2009 QTest::newRow("SmallestQRect_RandomQPoint") << getQRectCase(SmallestQRect) << getQPointCase(RandomQPoint)
2010 << QRect(QPoint(1,7), QPoint(12,1));
2011 }
2012
2013 {
2014 QTest::newRow("MiddleQRect_NullQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NullQPoint)
2015 << QRect(QPoint(INT_MIN/2,0),QPoint(0,INT_MAX/2));
2016 QTest::newRow("MiddleQRect_SmallestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(SmallestCoordQPoint)
2017 << QRect(QPoint(INT_MIN/2,INT_MIN),QPoint(INT_MIN,INT_MAX/2));
2018 QTest::newRow("MiddleQRect_MiddleNegCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddleNegCoordQPoint)
2019 << QRect(QPoint(INT_MIN/2,INT_MIN/2),QPoint(INT_MIN/2,INT_MAX/2));
2020 QTest::newRow("MiddleQRect_MiddlePosCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddlePosCoordQPoint)
2021 << QRect(QPoint(INT_MIN/2,INT_MAX/2),QPoint(INT_MAX/2,INT_MAX/2));
2022 QTest::newRow("MiddleQRect_LargestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(LargestCoordQPoint)
2023 << QRect(QPoint(INT_MIN/2,INT_MAX),QPoint(INT_MAX,INT_MAX/2));
2024 QTest::newRow("MiddleQRect_NegXQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegXQPoint)
2025 << QRect(QPoint(INT_MIN/2,7),QPoint(-12,INT_MAX/2));
2026 QTest::newRow("MiddleQRect_NegYQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegYQPoint)
2027 << QRect(QPoint(INT_MIN/2,-7),QPoint(12,INT_MAX/2));
2028 QTest::newRow("MiddleQRect_RandomQPoint") << getQRectCase(MiddleQRect) << getQPointCase(RandomQPoint)
2029 << QRect(QPoint(INT_MIN/2,7),QPoint(12,INT_MAX/2));
2030 }
2031
2032 {
2033 QTest::newRow("LargestQRect_NullQPoint") << getQRectCase(LargestQRect) << getQPointCase(NullQPoint)
2034 << QRect(QPoint(0,0),QPoint(0,INT_MAX-1));
2035 QTest::newRow("LargestQRect_SmallestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(SmallestCoordQPoint)
2036 << QRect(QPoint(0,INT_MIN),QPoint(INT_MIN,INT_MAX-1));
2037 QTest::newRow("LargestQRect_MiddleNegCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddleNegCoordQPoint)
2038 << QRect(QPoint(0,INT_MIN/2),QPoint(INT_MIN/2,INT_MAX-1));
2039 QTest::newRow("LargestQRect_MiddlePosCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddlePosCoordQPoint)
2040 << QRect(QPoint(0,INT_MAX/2),QPoint(INT_MAX/2,INT_MAX-1));
2041 QTest::newRow("LargestQRect_LargestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(LargestCoordQPoint)
2042 << QRect(QPoint(0,INT_MAX),QPoint(INT_MAX,INT_MAX-1));
2043 QTest::newRow("LargestQRect_NegXQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegXQPoint)
2044 << QRect(QPoint(0,7),QPoint(-12,INT_MAX-1));
2045 QTest::newRow("LargestQRect_NegYQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegYQPoint)
2046 << QRect(QPoint(0,-7),QPoint(12,INT_MAX-1));
2047 QTest::newRow("LargestQRect_RandomQPoint") << getQRectCase(LargestQRect) << getQPointCase(RandomQPoint)
2048 << QRect(QPoint(0,7),QPoint(12,INT_MAX-1));
2049 }
2050
2051 {
2052 QTest::newRow("SmallestCoordQRect_NullQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NullQPoint)
2053 << QRect(QPoint(INT_MIN,0),QPoint(0,INT_MIN));
2054 QTest::newRow("SmallestCoordQRect_SmallestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(SmallestCoordQPoint)
2055 << QRect(QPoint(INT_MIN,INT_MIN),QPoint(INT_MIN,INT_MIN));
2056 QTest::newRow("SmallestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
2057 << QRect(QPoint(INT_MIN,INT_MIN/2),QPoint(INT_MIN/2,INT_MIN));
2058 QTest::newRow("SmallestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
2059 << QRect(QPoint(INT_MIN,INT_MAX/2),QPoint(INT_MAX/2,INT_MIN));
2060 QTest::newRow("SmallestCoordQRect_LargestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(LargestCoordQPoint)
2061 << QRect(QPoint(INT_MIN,INT_MAX),QPoint(INT_MAX,INT_MIN));
2062 QTest::newRow("SmallestCoordQRect_NegXQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegXQPoint)
2063 << QRect(QPoint(INT_MIN,7),QPoint(-12,INT_MIN));
2064 QTest::newRow("SmallestCoordQRect_NegYQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegYQPoint)
2065 << QRect(QPoint(INT_MIN,-7),QPoint(12,INT_MIN));
2066 QTest::newRow("SmallestCoordQRect_RandomQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(RandomQPoint)
2067 << QRect(QPoint(INT_MIN,7),QPoint(12,INT_MIN));
2068 }
2069
2070 {
2071 QTest::newRow("LargestCoordQRect_NullQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NullQPoint)
2072 << QRect(QPoint(INT_MIN,0),QPoint(0,INT_MAX));
2073 QTest::newRow("LargestCoordQRect_SmallestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(SmallestCoordQPoint)
2074 << QRect(QPoint(INT_MIN,INT_MIN),QPoint(INT_MIN,INT_MAX));
2075 QTest::newRow("LargestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
2076 << QRect(QPoint(INT_MIN,INT_MIN/2),QPoint(INT_MIN/2,INT_MAX));
2077 QTest::newRow("LargestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
2078 << QRect(QPoint(INT_MIN,INT_MAX/2),QPoint(INT_MAX/2,INT_MAX));
2079 QTest::newRow("LargestCoordQRect_LargestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(LargestCoordQPoint)
2080 << QRect(QPoint(INT_MIN,INT_MAX),QPoint(INT_MAX,INT_MAX));
2081 QTest::newRow("LargestCoordQRect_NegXQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegXQPoint)
2082 << QRect(QPoint(INT_MIN,7),QPoint(-12,INT_MAX));
2083 QTest::newRow("LargestCoordQRect_NegYQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegYQPoint)
2084 << QRect(QPoint(INT_MIN,-7),QPoint(12,INT_MAX));
2085 QTest::newRow("LargestCoordQRect_RandomQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(RandomQPoint)
2086 << QRect(QPoint(INT_MIN,7),QPoint(12,INT_MAX));
2087 }
2088
2089 {
2090 QTest::newRow("RandomQRect_NullQPoint") << getQRectCase(RandomQRect) << getQPointCase(NullQPoint)
2091 << QRect(QPoint(100,0),QPoint(0,215));
2092 QTest::newRow("RandomQRect_SmallestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(SmallestCoordQPoint)
2093 << QRect(QPoint(100,INT_MIN),QPoint(INT_MIN,215));
2094 QTest::newRow("RandomQRect_MiddleNegCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddleNegCoordQPoint)
2095 << QRect(QPoint(100,INT_MIN/2),QPoint(INT_MIN/2,215));
2096 QTest::newRow("RandomQRect_MiddlePosCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddlePosCoordQPoint)
2097 << QRect(QPoint(100,INT_MAX/2),QPoint(INT_MAX/2,215));
2098 QTest::newRow("RandomQRect_LargestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(LargestCoordQPoint)
2099 << QRect(QPoint(100,INT_MAX),QPoint(INT_MAX,215));
2100 QTest::newRow("RandomQRect_NegXQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegXQPoint)
2101 << QRect(QPoint(100,7),QPoint(-12,215));
2102 QTest::newRow("RandomQRect_NegYQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegYQPoint)
2103 << QRect(QPoint(100,-7),QPoint(12,215));
2104 QTest::newRow("RandomQRect_RandomQPoint") << getQRectCase(RandomQRect) << getQPointCase(RandomQPoint)
2105 << QRect(QPoint(100,7),QPoint(12,215));
2106 }
2107
2108 {
2109 QTest::newRow("NegativeSizeQRect_NullQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NullQPoint)
2110 << QRect(QPoint(1, 0),QPoint(0,-10));
2111 QTest::newRow("NegativeSizeQRect_SmallestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(SmallestCoordQPoint)
2112 << QRect(QPoint(1, INT_MIN),QPoint(INT_MIN,-10));
2113 QTest::newRow("NegativeSizeQRect_MiddleNegCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddleNegCoordQPoint)
2114 << QRect(QPoint(1, INT_MIN/2),QPoint(INT_MIN/2,-10));
2115 QTest::newRow("NegativeSizeQRect_MiddlePosCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddlePosCoordQPoint)
2116 << QRect(QPoint(1, INT_MAX/2),QPoint(INT_MAX/2,-10));
2117 QTest::newRow("NegativeSizeQRect_LargestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(LargestCoordQPoint)
2118 << QRect(QPoint(1, INT_MAX),QPoint(INT_MAX,-10));
2119 QTest::newRow("NegativeSizeQRect_NegXQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegXQPoint)
2120 << QRect(QPoint(1, 7),QPoint(-12,-10));
2121 QTest::newRow("NegativeSizeQRect_NegYQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegYQPoint)
2122 << QRect(QPoint(1, -7),QPoint(12,-10));
2123 QTest::newRow("NegativeSizeQRect_RandomQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(RandomQPoint)
2124 << QRect(QPoint(1, 7),QPoint(12,-10));
2125 }
2126
2127 {
2128 QTest::newRow("NegativePointQRect_NullQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NullQPoint)
2129 << QRect(QPoint(-10,0),QPoint(0,-6));
2130 QTest::newRow("NegativePointQRect_SmallestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(SmallestCoordQPoint)
2131 << QRect(QPoint(-10,INT_MIN),QPoint(INT_MIN,-6));
2132 QTest::newRow("NegativePointQRect_MiddleNegCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddleNegCoordQPoint)
2133 << QRect(QPoint(-10,INT_MIN/2),QPoint(INT_MIN/2,-6));
2134 QTest::newRow("NegativePointQRect_MiddlePosCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddlePosCoordQPoint)
2135 << QRect(QPoint(-10,INT_MAX/2),QPoint(INT_MAX/2,-6));
2136 QTest::newRow("NegativePointQRect_LargestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(LargestCoordQPoint)
2137 << QRect(QPoint(-10,INT_MAX),QPoint(INT_MAX,-6));
2138 QTest::newRow("NegativePointQRect_NegXQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegXQPoint)
2139 << QRect(QPoint(-10,7),QPoint(-12,-6));
2140 QTest::newRow("NegativePointQRect_NegYQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegYQPoint)
2141 << QRect(QPoint(-10,-7),QPoint(12,-6));
2142 QTest::newRow("NegativePointQRect_RandomQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(RandomQPoint)
2143 << QRect(QPoint(-10,7),QPoint(12,-6));
2144 }
2145
2146 {
2147 QTest::newRow("NullQRect_NullQPoint") << getQRectCase(NullQRect) << getQPointCase(NullQPoint)
2148 << QRect(QPoint(5,0),QPoint(0,4));
2149 QTest::newRow("NullQRect_SmallestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(SmallestCoordQPoint)
2150 << QRect(QPoint(5,INT_MIN),QPoint(INT_MIN,4));
2151 QTest::newRow("NullQRect_MiddleNegCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddleNegCoordQPoint)
2152 << QRect(QPoint(5,INT_MIN/2),QPoint(INT_MIN/2,4));
2153 QTest::newRow("NullQRect_MiddlePosCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddlePosCoordQPoint)
2154 << QRect(QPoint(5,INT_MAX/2),QPoint(INT_MAX/2,4));
2155 QTest::newRow("NullQRect_LargestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(LargestCoordQPoint)
2156 << QRect(QPoint(5,INT_MAX),QPoint(INT_MAX,4));
2157 QTest::newRow("NullQRect_NegXQPoint") << getQRectCase(NullQRect) << getQPointCase(NegXQPoint)
2158 << QRect(QPoint(5,7),QPoint(-12,4));
2159 QTest::newRow("NullQRect_NegYQPoint") << getQRectCase(NullQRect) << getQPointCase(NegYQPoint)
2160 << QRect(QPoint(5,-7),QPoint(12,4));
2161 QTest::newRow("NullQRect_RandomQPoint") << getQRectCase(NullQRect) << getQPointCase(RandomQPoint)
2162 << QRect(QPoint(5,7),QPoint(12,4));
2163 }
2164
2165 {
2166 QTest::newRow("EmptyQRect_NullQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NullQPoint)
2167 << QRect(QPoint(2,0),QPoint(0,1));
2168 QTest::newRow("EmptyQRect_SmallestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(SmallestCoordQPoint)
2169 << QRect(QPoint(2,INT_MIN),QPoint(INT_MIN,1));
2170 QTest::newRow("EmptyQRect_MiddleNegCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddleNegCoordQPoint)
2171 << QRect(QPoint(2,INT_MIN/2),QPoint(INT_MIN/2,1));
2172 QTest::newRow("EmptyQRect_MiddlePosCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddlePosCoordQPoint)
2173 << QRect(QPoint(2,INT_MAX/2),QPoint(INT_MAX/2,1));
2174 QTest::newRow("EmptyQRect_LargestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(LargestCoordQPoint)
2175 << QRect(QPoint(2,INT_MAX),QPoint(INT_MAX,1));
2176 QTest::newRow("EmptyQRect_NegXQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegXQPoint)
2177 << QRect(QPoint(2,7),QPoint(-12,1));
2178 QTest::newRow("EmptyQRect_NegYQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegYQPoint)
2179 << QRect(QPoint(2,-7),QPoint(12,1));
2180 QTest::newRow("EmptyQRect_RandomQPoint") << getQRectCase(EmptyQRect) << getQPointCase(RandomQPoint)
2181 << QRect(QPoint(2,7),QPoint(12,1));
2182 }
2183 }
2184
newSetTopRight()2185 void tst_QRect::newSetTopRight()
2186 {
2187 QFETCH( QRect, r );
2188 QFETCH( QPoint, topRight );
2189 QFETCH( QRect, nr );
2190
2191 r.setTopRight( topRight );
2192
2193 QCOMPARE( r, nr );
2194 }
2195
newSetBottomLeft_data()2196 void tst_QRect::newSetBottomLeft_data()
2197 {
2198 QTest::addColumn<QRect>("r");
2199 QTest::addColumn<QPoint>("bottomLeft");
2200 QTest::addColumn<QRect>("nr");
2201
2202 {
2203 QTest::newRow("InvalidQRect_NullQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NullQPoint)
2204 << QRect(QPoint(0,0),QPoint(-1,0));
2205 QTest::newRow("InvalidQRect_SmallestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(SmallestCoordQPoint)
2206 << QRect(QPoint(INT_MIN,0),QPoint(-1,INT_MIN));
2207 QTest::newRow("InvalidQRect_MiddleNegCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddleNegCoordQPoint)
2208 << QRect(QPoint(INT_MIN/2,0),QPoint(-1,INT_MIN/2));
2209 QTest::newRow("InvalidQRect_MiddlePosCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddlePosCoordQPoint)
2210 << QRect(QPoint(INT_MAX/2,0),QPoint(-1,INT_MAX/2));
2211 QTest::newRow("InvalidQRect_LargestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(LargestCoordQPoint)
2212 << QRect(QPoint(INT_MAX,0),QPoint(-1,INT_MAX));
2213 QTest::newRow("InvalidQRect_NegXQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegXQPoint)
2214 << QRect(QPoint(-12,0),QPoint(-1,7));
2215 QTest::newRow("InvalidQRect_NegYQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegYQPoint)
2216 << QRect(QPoint(12,0),QPoint(-1,-7));
2217 QTest::newRow("InvalidQRect_RandomQPoint") << getQRectCase(InvalidQRect) << getQPointCase(RandomQPoint)
2218 << QRect(QPoint(12,0),QPoint(-1,7));
2219 }
2220
2221 {
2222 QTest::newRow("SmallestQRect_NullQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NullQPoint)
2223 << QRect(QPoint(0,1),QPoint(1,0));
2224 QTest::newRow("SmallestQRect_SmallestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(SmallestCoordQPoint)
2225 << QRect(QPoint(INT_MIN,1),QPoint(1,INT_MIN));
2226 QTest::newRow("SmallestQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddleNegCoordQPoint)
2227 << QRect(QPoint(INT_MIN/2,1),QPoint(1,INT_MIN/2));
2228 QTest::newRow("SmallestQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddlePosCoordQPoint)
2229 << QRect(QPoint(INT_MAX/2,1), QPoint(1,INT_MAX/2));
2230 QTest::newRow("SmallestQRect_LargestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(LargestCoordQPoint)
2231 << QRect(QPoint(INT_MAX,1), QPoint(1,INT_MAX));
2232 QTest::newRow("SmallestQRect_NegXQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegXQPoint)
2233 << QRect(QPoint(-12,1),QPoint(1,7));
2234 QTest::newRow("SmallestQRect_NegYQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegYQPoint)
2235 << QRect(QPoint(12,1),QPoint(1,-7));
2236 QTest::newRow("SmallestQRect_RandomQPoint") << getQRectCase(SmallestQRect) << getQPointCase(RandomQPoint)
2237 << QRect(QPoint(12,1),QPoint(1,7));
2238 }
2239
2240 {
2241 QTest::newRow("MiddleQRect_NullQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NullQPoint)
2242 << QRect(QPoint(0,INT_MIN/2),QPoint(INT_MAX/2,0));
2243 QTest::newRow("MiddleQRect_SmallestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(SmallestCoordQPoint)
2244 << QRect(QPoint(INT_MIN,INT_MIN/2),QPoint(INT_MAX/2,INT_MIN));
2245 QTest::newRow("MiddleQRect_MiddleNegCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddleNegCoordQPoint)
2246 << QRect(QPoint(INT_MIN/2,INT_MIN/2),QPoint(INT_MAX/2,INT_MIN/2));
2247 QTest::newRow("MiddleQRect_MiddlePosCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddlePosCoordQPoint)
2248 << QRect(QPoint(INT_MAX/2,INT_MIN/2),QPoint(INT_MAX/2,INT_MAX/2));
2249 QTest::newRow("MiddleQRect_LargestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(LargestCoordQPoint)
2250 << QRect(QPoint(INT_MAX,INT_MIN/2),QPoint(INT_MAX/2,INT_MAX));
2251 QTest::newRow("MiddleQRect_NegXQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegXQPoint)
2252 << QRect(QPoint(-12,INT_MIN/2),QPoint(INT_MAX/2,7));
2253 QTest::newRow("MiddleQRect_NegYQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NegYQPoint)
2254 << QRect(QPoint(12,INT_MIN/2),QPoint(INT_MAX/2,-7));
2255 QTest::newRow("MiddleQRect_RandomQPoint") << getQRectCase(MiddleQRect) << getQPointCase(RandomQPoint)
2256 << QRect(QPoint(12,INT_MIN/2),QPoint(INT_MAX/2,7));
2257 }
2258
2259 {
2260 QTest::newRow("LargestQRect_NullQPoint") << getQRectCase(LargestQRect) << getQPointCase(NullQPoint)
2261 << QRect(QPoint(0,0),QPoint(INT_MAX-1,0));
2262 QTest::newRow("LargestQRect_SmallestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(SmallestCoordQPoint)
2263 << QRect(QPoint(INT_MIN,0),QPoint(INT_MAX-1,INT_MIN));
2264 QTest::newRow("LargestQRect_MiddleNegCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddleNegCoordQPoint)
2265 << QRect(QPoint(INT_MIN/2,0),QPoint(INT_MAX-1,INT_MIN/2));
2266 QTest::newRow("LargestQRect_MiddlePosCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddlePosCoordQPoint)
2267 << QRect(QPoint(INT_MAX/2,0),QPoint(INT_MAX-1,INT_MAX/2));
2268 QTest::newRow("LargestQRect_LargestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(LargestCoordQPoint)
2269 << QRect(QPoint(INT_MAX,0),QPoint(INT_MAX-1,INT_MAX));
2270 QTest::newRow("LargestQRect_NegXQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegXQPoint)
2271 << QRect(QPoint(-12,0),QPoint(INT_MAX-1,7));
2272 QTest::newRow("LargestQRect_NegYQPoint") << getQRectCase(LargestQRect) << getQPointCase(NegYQPoint)
2273 << QRect(QPoint(12,0),QPoint(INT_MAX-1,-7));
2274 QTest::newRow("LargestQRect_RandomQPoint") << getQRectCase(LargestQRect) << getQPointCase(RandomQPoint)
2275 << QRect(QPoint(12,0),QPoint(INT_MAX-1,7));
2276 }
2277
2278 {
2279 QTest::newRow("SmallestCoordQRect_NullQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NullQPoint)
2280 << QRect(QPoint(0,INT_MIN),QPoint(INT_MIN,0));
2281 QTest::newRow("SmallestCoordQRect_SmallestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(SmallestCoordQPoint)
2282 << QRect(QPoint(INT_MIN,INT_MIN),QPoint(INT_MIN,INT_MIN));
2283 QTest::newRow("SmallestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
2284 << QRect(QPoint(INT_MIN/2,INT_MIN),QPoint(INT_MIN,INT_MIN/2));
2285 QTest::newRow("SmallestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
2286 << QRect(QPoint(INT_MAX/2,INT_MIN),QPoint(INT_MIN,INT_MAX/2));
2287 QTest::newRow("SmallestCoordQRect_LargestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(LargestCoordQPoint)
2288 << QRect(QPoint(INT_MAX,INT_MIN),QPoint(INT_MIN,INT_MAX));
2289 QTest::newRow("SmallestCoordQRect_NegXQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegXQPoint)
2290 << QRect(QPoint(-12,INT_MIN),QPoint(INT_MIN,7));
2291 QTest::newRow("SmallestCoordQRect_NegYQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(NegYQPoint)
2292 << QRect(QPoint(12,INT_MIN),QPoint(INT_MIN,-7));
2293 QTest::newRow("SmallestCoordQRect_RandomQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(RandomQPoint)
2294 << QRect(QPoint(12,INT_MIN),QPoint(INT_MIN,7));
2295 }
2296
2297 {
2298 QTest::newRow("LargestCoordQRect_NullQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NullQPoint)
2299 << QRect(QPoint(0,INT_MIN),QPoint(INT_MAX,0));
2300 QTest::newRow("LargestCoordQRect_SmallestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(SmallestCoordQPoint)
2301 << QRect(QPoint(INT_MIN,INT_MIN),QPoint(INT_MAX,INT_MIN));
2302 QTest::newRow("LargestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
2303 << QRect(QPoint(INT_MIN/2,INT_MIN),QPoint(INT_MAX,INT_MIN/2));
2304 QTest::newRow("LargestCoordQRect_MiddlePosCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(MiddlePosCoordQPoint)
2305 << QRect(QPoint(INT_MAX/2,INT_MIN),QPoint(INT_MAX,INT_MAX/2));
2306 QTest::newRow("LargestCoordQRect_LargestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(LargestCoordQPoint)
2307 << QRect(QPoint(INT_MAX,INT_MIN),QPoint(INT_MAX,INT_MAX));
2308 QTest::newRow("LargestCoordQRect_NegXQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegXQPoint)
2309 << QRect(QPoint(-12,INT_MIN),QPoint(INT_MAX,7));
2310 QTest::newRow("LargestCoordQRect_NegYQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NegYQPoint)
2311 << QRect(QPoint(12,INT_MIN),QPoint(INT_MAX,-7));
2312 QTest::newRow("LargestCoordQRect_RandomQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(RandomQPoint)
2313 << QRect(QPoint(12,INT_MIN),QPoint(INT_MAX,7));
2314 }
2315
2316 {
2317 QTest::newRow("RandomQRect_NullQPoint") << getQRectCase(RandomQRect) << getQPointCase(NullQPoint)
2318 << QRect(QPoint(0,200),QPoint(110,0));
2319 QTest::newRow("RandomQRect_SmallestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(SmallestCoordQPoint)
2320 << QRect(QPoint(INT_MIN,200),QPoint(110,INT_MIN));
2321 QTest::newRow("RandomQRect_MiddleNegCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddleNegCoordQPoint)
2322 << QRect(QPoint(INT_MIN/2,200),QPoint(110,INT_MIN/2));
2323 QTest::newRow("RandomQRect_MiddlePosCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddlePosCoordQPoint)
2324 << QRect(QPoint(INT_MAX/2,200),QPoint(110,INT_MAX/2));
2325 QTest::newRow("RandomQRect_LargestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(LargestCoordQPoint)
2326 << QRect(QPoint(INT_MAX,200),QPoint(110,INT_MAX));
2327 QTest::newRow("RandomQRect_NegXQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegXQPoint)
2328 << QRect(QPoint(-12,200),QPoint(110,7));
2329 QTest::newRow("RandomQRect_NegYQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegYQPoint)
2330 << QRect(QPoint(12,200),QPoint(110,-7));
2331 QTest::newRow("RandomQRect_RandomQPoint") << getQRectCase(RandomQRect) << getQPointCase(RandomQPoint)
2332 << QRect(QPoint(12,200),QPoint(110,7));
2333 }
2334
2335 {
2336 QTest::newRow("NegativeSizeQRect_NullQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NullQPoint)
2337 << QRect(QPoint(0, 1),QPoint(-10,0));
2338 QTest::newRow("NegativeSizeQRect_SmallestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(SmallestCoordQPoint)
2339 << QRect(QPoint(INT_MIN, 1),QPoint(-10,INT_MIN));
2340 QTest::newRow("NegativeSizeQRect_MiddleNegCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddleNegCoordQPoint)
2341 << QRect(QPoint(INT_MIN/2, 1),QPoint(-10,INT_MIN/2));
2342 QTest::newRow("NegativeSizeQRect_MiddlePosCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddlePosCoordQPoint)
2343 << QRect(QPoint(INT_MAX/2, 1),QPoint(-10,INT_MAX/2));
2344 QTest::newRow("NegativeSizeQRect_LargestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(LargestCoordQPoint)
2345 << QRect(QPoint(INT_MAX, 1),QPoint(-10,INT_MAX));
2346 QTest::newRow("NegativeSizeQRect_NegXQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegXQPoint)
2347 << QRect(QPoint(-12, 1),QPoint(-10,7));
2348 QTest::newRow("NegativeSizeQRect_NegYQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegYQPoint)
2349 << QRect(QPoint(12, 1),QPoint(-10,-7));
2350 QTest::newRow("NegativeSizeQRect_RandomQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(RandomQPoint)
2351 << QRect(QPoint(12, 1),QPoint(-10,7));
2352 }
2353
2354 {
2355 QTest::newRow("NegativePointQRect_NullQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NullQPoint)
2356 << QRect(QPoint(0,-10),QPoint(-6,0));
2357 QTest::newRow("NegativePointQRect_SmallestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(SmallestCoordQPoint)
2358 << QRect(QPoint(INT_MIN,-10),QPoint(-6,INT_MIN));
2359 QTest::newRow("NegativePointQRect_MiddleNegCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddleNegCoordQPoint)
2360 << QRect(QPoint(INT_MIN/2,-10),QPoint(-6,INT_MIN/2));
2361 QTest::newRow("NegativePointQRect_MiddlePosCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddlePosCoordQPoint)
2362 << QRect(QPoint(INT_MAX/2,-10),QPoint(-6,INT_MAX/2));
2363 QTest::newRow("NegativePointQRect_LargestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(LargestCoordQPoint)
2364 << QRect(QPoint(INT_MAX,-10),QPoint(-6,INT_MAX));
2365 QTest::newRow("NegativePointQRect_NegXQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegXQPoint)
2366 << QRect(QPoint(-12,-10),QPoint(-6,7));
2367 QTest::newRow("NegativePointQRect_NegYQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegYQPoint)
2368 << QRect(QPoint(12,-10),QPoint(-6,-7));
2369 QTest::newRow("NegativePointQRect_RandomQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(RandomQPoint)
2370 << QRect(QPoint(12,-10),QPoint(-6,7));
2371 }
2372
2373 {
2374 QTest::newRow("NullQRect_NullQPoint") << getQRectCase(NullQRect) << getQPointCase(NullQPoint)
2375 << QRect(QPoint(0,5),QPoint(4,0));
2376 QTest::newRow("NullQRect_SmallestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(SmallestCoordQPoint)
2377 << QRect(QPoint(INT_MIN,5),QPoint(4,INT_MIN));
2378 QTest::newRow("NullQRect_MiddleNegCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddleNegCoordQPoint)
2379 << QRect(QPoint(INT_MIN/2,5),QPoint(4,INT_MIN/2));
2380 QTest::newRow("NullQRect_MiddlePosCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddlePosCoordQPoint)
2381 << QRect(QPoint(INT_MAX/2,5),QPoint(4,INT_MAX/2));
2382 QTest::newRow("NullQRect_LargestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(LargestCoordQPoint)
2383 << QRect(QPoint(INT_MAX,5),QPoint(4,INT_MAX));
2384 QTest::newRow("NullQRect_NegXQPoint") << getQRectCase(NullQRect) << getQPointCase(NegXQPoint)
2385 << QRect(QPoint(-12,5),QPoint(4,7));
2386 QTest::newRow("NullQRect_NegYQPoint") << getQRectCase(NullQRect) << getQPointCase(NegYQPoint)
2387 << QRect(QPoint(12,5),QPoint(4,-7));
2388 QTest::newRow("NullQRect_RandomQPoint") << getQRectCase(NullQRect) << getQPointCase(RandomQPoint)
2389 << QRect(QPoint(12,5),QPoint(4,7));
2390 }
2391
2392 {
2393 QTest::newRow("EmptyQRect_NullQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NullQPoint)
2394 << QRect(QPoint(0,2),QPoint(1,0));
2395 QTest::newRow("EmptyQRect_SmallestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(SmallestCoordQPoint)
2396 << QRect(QPoint(INT_MIN,2),QPoint(1,INT_MIN));
2397 QTest::newRow("EmptyQRect_MiddleNegCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddleNegCoordQPoint)
2398 << QRect(QPoint(INT_MIN/2,2),QPoint(1,INT_MIN/2));
2399 QTest::newRow("EmptyQRect_MiddlePosCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddlePosCoordQPoint)
2400 << QRect(QPoint(INT_MAX/2,2),QPoint(1,INT_MAX/2));
2401 QTest::newRow("EmptyQRect_LargestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(LargestCoordQPoint)
2402 << QRect(QPoint(INT_MAX,2),QPoint(1,INT_MAX));
2403 QTest::newRow("EmptyQRect_NegXQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegXQPoint)
2404 << QRect(QPoint(-12,2),QPoint(1,7));
2405 QTest::newRow("EmptyQRect_NegYQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegYQPoint)
2406 << QRect(QPoint(12,2),QPoint(1,-7));
2407 QTest::newRow("EmptyQRect_RandomQPoint") << getQRectCase(EmptyQRect) << getQPointCase(RandomQPoint)
2408 << QRect(QPoint(12,2),QPoint(1,7));
2409 }
2410 }
2411
newSetBottomLeft()2412 void tst_QRect::newSetBottomLeft()
2413 {
2414 QFETCH( QRect, r );
2415 QFETCH( QPoint, bottomLeft );
2416 QFETCH( QRect, nr );
2417
2418 r.setBottomLeft( bottomLeft );
2419
2420 QCOMPARE( r, nr );
2421 }
2422
topLeft_data()2423 void tst_QRect::topLeft_data()
2424 {
2425 QTest::addColumn<QRect>("r");
2426 QTest::addColumn<QPoint>("topLeft");
2427
2428 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << QPoint(0,0);
2429 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << QPoint(1,1);
2430 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << QPoint(INT_MIN/2,INT_MIN/2);
2431 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << QPoint(0,0);
2432 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << QPoint(INT_MIN,INT_MIN);
2433 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << QPoint(INT_MIN,INT_MIN);
2434 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << QPoint(100,200);
2435 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << QPoint(1,1);
2436 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << QPoint(-10,-10);
2437 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << QPoint(5,5);
2438 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << QPoint(2,2);
2439 }
topLeft()2440 void tst_QRect::topLeft()
2441 {
2442 QFETCH( QRect, r );
2443 QFETCH( QPoint, topLeft );
2444
2445 QCOMPARE( r.topLeft(), topLeft );
2446 }
bottomRight_data()2447 void tst_QRect::bottomRight_data()
2448 {
2449 QTest::addColumn<QRect>("r");
2450 QTest::addColumn<QPoint>("bottomRight");
2451
2452 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << QPoint(-1,-1);
2453 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << QPoint(1,1);
2454 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << QPoint(INT_MAX/2,INT_MAX/2);
2455 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << QPoint(INT_MAX-1,INT_MAX-1);
2456 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << QPoint(INT_MIN,INT_MIN);
2457 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << QPoint(INT_MAX,INT_MAX);
2458 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << QPoint(110,215);
2459 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << QPoint(-10,-10);
2460 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << QPoint(-6,-6);
2461 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << QPoint(4,4);
2462 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << QPoint(1,1);
2463 }
bottomRight()2464 void tst_QRect::bottomRight()
2465 {
2466 QFETCH( QRect, r );
2467 QFETCH( QPoint, bottomRight );
2468
2469 QCOMPARE( r.bottomRight(), bottomRight );
2470 }
topRight_data()2471 void tst_QRect::topRight_data()
2472 {
2473 QTest::addColumn<QRect>("r");
2474 QTest::addColumn<QPoint>("topRight");
2475
2476 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << QPoint(-1,0);
2477 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << QPoint(1,1);
2478 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << QPoint(INT_MAX/2,INT_MIN/2);
2479 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << QPoint(INT_MAX-1,0);
2480 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << QPoint(INT_MIN,INT_MIN);
2481 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << QPoint(INT_MAX,INT_MIN);
2482 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << QPoint(110,200);
2483 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << QPoint(-10,1);
2484 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << QPoint(-6,-10);
2485 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << QPoint(4,5);
2486 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << QPoint(1,2);
2487 }
topRight()2488 void tst_QRect::topRight()
2489 {
2490 QFETCH( QRect, r );
2491 QFETCH( QPoint, topRight );
2492
2493 QCOMPARE( r.topRight(), topRight );
2494 }
bottomLeft_data()2495 void tst_QRect::bottomLeft_data()
2496 {
2497 QTest::addColumn<QRect>("r");
2498 QTest::addColumn<QPoint>("bottomLeft");
2499
2500 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << QPoint(0,-1);
2501 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << QPoint(1,1);
2502 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << QPoint(INT_MIN/2,INT_MAX/2);
2503 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << QPoint(0,INT_MAX-1);
2504 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << QPoint(INT_MIN,INT_MIN);
2505 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << QPoint(INT_MIN,INT_MAX);
2506 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << QPoint(100,215);
2507 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << QPoint(1,-10);
2508 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << QPoint(-10,-6);
2509 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << QPoint(5,4);
2510 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << QPoint(2,1);
2511 }
bottomLeft()2512 void tst_QRect::bottomLeft()
2513 {
2514 QFETCH( QRect, r );
2515 QFETCH( QPoint, bottomLeft );
2516
2517 QCOMPARE( r.bottomLeft(), bottomLeft );
2518 }
center_data()2519 void tst_QRect::center_data()
2520 {
2521 QTest::addColumn<QRect>("r");
2522 QTest::addColumn<QPoint>("center");
2523
2524 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << QPoint(0,0);
2525 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << QPoint(1,1);
2526 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << QPoint(0,0);
2527 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << QPoint(INT_MAX/2,INT_MAX/2);
2528 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << QPoint(0,0);
2529 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << QPoint(0,0);
2530 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << QPoint(105,207);
2531 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << QPoint(-4,-4);
2532 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << QPoint(-8,-8);
2533 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << QPoint(4,4);
2534 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << QPoint(1,1);
2535 }
center()2536 void tst_QRect::center()
2537 {
2538 QFETCH( QRect, r );
2539 QFETCH( QPoint, center );
2540
2541 QCOMPARE( r.center(), center );
2542 }
2543
getRect_data()2544 void tst_QRect::getRect_data()
2545 {
2546 QTest::addColumn<QRect>("r");
2547 QTest::addColumn<int>("x");
2548 QTest::addColumn<int>("y");
2549 QTest::addColumn<int>("w");
2550 QTest::addColumn<int>("h");
2551
2552 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0 << 0 << 0 << 0;
2553 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1 << 1 << 1 << 1;
2554 // QTest::newRow( "MiddleQRect" ) -- Not tested as this would cause an overflow
2555 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0 << 0 << int(INT_MAX) << int(INT_MAX);
2556 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN) << int(INT_MIN) << 1 << 1;
2557 // QTest::newRow( "LargestCoordQRect" ) -- Not tested as this would cause an overflow
2558 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 100 << 200 << 11 << 16;
2559 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1 << 1 << -10 << -10;
2560 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10 << -10 << 5 << 5;
2561 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5 << 5 << 0 << 0;
2562 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2 << 2 << 0 << 0;
2563 }
2564
getRect()2565 void tst_QRect::getRect()
2566 {
2567 QFETCH( QRect, r );
2568 QFETCH( int, x );
2569 QFETCH( int, y );
2570 QFETCH( int, w );
2571 QFETCH( int, h );
2572
2573 int x2, y2, w2, h2;
2574 r.getRect( &x2, &y2, &w2, &h2 );
2575
2576 QVERIFY( x == x2 );
2577 QVERIFY( y == y2 );
2578 QVERIFY( w == w2 );
2579 QVERIFY( h == h2 );
2580 }
2581
getCoords_data()2582 void tst_QRect::getCoords_data()
2583 {
2584 QTest::addColumn<QRect>("r");
2585 QTest::addColumn<int>("xp1");
2586 QTest::addColumn<int>("yp1");
2587 QTest::addColumn<int>("xp2");
2588 QTest::addColumn<int>("yp2");
2589
2590 QTest::newRow( "InvalidQRect" ) << getQRectCase( InvalidQRect ) << 0 << 0 << -1 << -1;
2591 QTest::newRow( "SmallestQRect" ) << getQRectCase( SmallestQRect ) << 1 << 1 << 1 << 1;
2592 QTest::newRow( "MiddleQRect" ) << getQRectCase( MiddleQRect ) << int(INT_MIN)/2 << int(INT_MIN)/2 << int(INT_MAX)/2 << int(INT_MAX)/2;
2593 QTest::newRow( "LargestQRect" ) << getQRectCase( LargestQRect ) << 0 << 0 << int(INT_MAX)-1 << int(INT_MAX)-1;
2594 QTest::newRow( "SmallestCoordQRect" ) << getQRectCase( SmallestCoordQRect ) << int(INT_MIN) << int(INT_MIN) << int(INT_MIN) << int(INT_MIN);
2595 QTest::newRow( "LargestCoordQRect" ) << getQRectCase( LargestCoordQRect ) << int(INT_MIN) << int(INT_MIN) << int(INT_MAX) << int(INT_MAX);
2596 QTest::newRow( "RandomQRect" ) << getQRectCase( RandomQRect ) << 100 << 200 << 110 << 215;
2597 QTest::newRow( "NegativeSizeQRect" ) << getQRectCase( NegativeSizeQRect ) << 1 << 1 << -10 << -10;
2598 QTest::newRow( "NegativePointQRect" ) << getQRectCase( NegativePointQRect ) << -10 << -10 << -6 << -6;
2599 QTest::newRow( "NullQRect" ) << getQRectCase( NullQRect ) << 5 << 5 << 4 << 4;
2600 QTest::newRow( "EmptyQRect" ) << getQRectCase( EmptyQRect ) << 2 << 2 << 1 << 1;
2601 }
2602
getCoords()2603 void tst_QRect::getCoords()
2604 {
2605 QFETCH( QRect, r );
2606 QFETCH( int, xp1 );
2607 QFETCH( int, yp1 );
2608 QFETCH( int, xp2 );
2609 QFETCH( int, yp2 );
2610
2611 int xp12, yp12, xp22, yp22;
2612 r.getCoords( &xp12, &yp12, &xp22, &yp22 );
2613
2614 QVERIFY( xp1 == xp12 );
2615 QVERIFY( yp1 == yp12 );
2616 QVERIFY( xp2 == xp22 );
2617 QVERIFY( yp2 == yp22 );
2618 }
2619
newMoveLeft_data()2620 void tst_QRect::newMoveLeft_data()
2621 {
2622 QTest::addColumn<QRect>("r");
2623 QTest::addColumn<int>("left");
2624 QTest::addColumn<QRect>("nr");
2625
2626 {
2627 // QTest::newRow( "InvalidQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2628 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
2629 << QRect( QPoint(INT_MIN/2,0), QPoint(INT_MIN/2-1,-1) );
2630 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
2631 << QRect( QPoint(0,0), QPoint(-1,-1) );
2632 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
2633 << QRect( QPoint(INT_MAX/2,0), QPoint(INT_MAX/2-1,-1) );
2634 QTest::newRow( "InvalidQRect_MaximumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MaximumInt )
2635 << QRect( QPoint(INT_MAX,0), QPoint(INT_MAX-1,-1) );
2636 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
2637 << QRect( QPoint(4953,0), QPoint(4952,-1) );
2638 }
2639
2640 {
2641 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
2642 << QRect( QPoint(INT_MIN,1), QPoint(INT_MIN,1) );
2643 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
2644 << QRect( QPoint(INT_MIN/2,1), QPoint(INT_MIN/2,1) );
2645 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
2646 << QRect( QPoint(0,1), QPoint(0,1) );
2647 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
2648 << QRect( QPoint(INT_MAX/2,1), QPoint(INT_MAX/2,1) );
2649 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
2650 << QRect( QPoint(INT_MAX,1), QPoint(INT_MAX,1) );
2651 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
2652 << QRect( QPoint(4953,1), QPoint(4953,1) );
2653 }
2654
2655 {
2656 QTest::newRow( "MiddleQRect_MinimumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MinimumInt )
2657 << QRect( QPoint(INT_MIN, INT_MIN / 2 ), QPoint( (INT_MAX/2)+(INT_MIN-INT_MIN/2), INT_MAX / 2 ) );
2658 QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddleNegativeInt )
2659 << QRect( QPoint(INT_MIN/2, INT_MIN / 2 ), QPoint((INT_MAX/2)+(INT_MIN/2-INT_MIN/2), INT_MAX / 2 ) );
2660 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
2661 << QRect( QPoint(0, INT_MIN / 2 ), QPoint((INT_MAX/2)+(0-INT_MIN/2),INT_MAX/2));
2662 // QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) -- Not tested as it would cause an overflow
2663 // QTest::newRow( "MiddleQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2664 // QTest::newRow( "MiddleQRect_RandomInt" ) -- Not tested as it would cause an overflow
2665 }
2666
2667 {
2668 QTest::newRow( "LargestQRect_MinimumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MinimumInt )
2669 << QRect( QPoint(INT_MIN, 0), QPoint((INT_MAX-1)+INT_MIN, INT_MAX - 1 ) );
2670 QTest::newRow( "LargestQRect_MiddleNegativeInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddleNegativeInt )
2671 << QRect( QPoint(INT_MIN/2, 0), QPoint((INT_MAX-1)+(INT_MIN/2), INT_MAX - 1 ) );
2672 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
2673 << QRect( QPoint(0, 0), QPoint(INT_MAX-1,INT_MAX - 1 ) );
2674 // QTest::newRow( "LargestQRect_MiddlePositiveInt" ) -- Not tested as it would cause an overflow
2675 // QTest::newRow( "LargestQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2676 // QTest::newRow( "LargestQRect_RandomInt" ) -- Not tested as it would cause an overflow
2677 }
2678
2679 {
2680 // QTest::newRow( "SmallestCoordQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2681 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
2682 << QRect( QPoint( INT_MIN/2, INT_MIN ), QPoint(INT_MIN/2, INT_MIN ) );
2683 QTest::newRow( "SmallestCoordQRect_ZeroInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( ZeroInt )
2684 << QRect( QPoint( 0, INT_MIN ), QPoint(0, INT_MIN ) );
2685 QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddlePositiveInt )
2686 << QRect( QPoint( INT_MAX/2, INT_MIN ), QPoint(INT_MAX/2, INT_MIN ) );
2687 QTest::newRow( "SmallestCoordQRect_MaximumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MaximumInt )
2688 << QRect( QPoint( INT_MAX, INT_MIN ), QPoint(INT_MAX, INT_MIN ) );
2689 QTest::newRow( "SmallestCoordQRect_RandomInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( RandomInt )
2690 << QRect( QPoint( 4953, INT_MIN ), QPoint(4953, INT_MIN ) );
2691 }
2692
2693 {
2694 // QTest::newRow( "LargestCoordQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2695 QTest::newRow( "LargestCoordQRect_MiddleNegativeInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddleNegativeInt )
2696 << QRect( QPoint( INT_MIN/2, INT_MIN ), QPoint(INT_MIN/2-1, INT_MAX ) );
2697 QTest::newRow( "LargestCoordQRect_ZeroInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( ZeroInt )
2698 << QRect( QPoint( 0, INT_MIN ), QPoint(-1, INT_MAX ) );
2699 QTest::newRow( "LargestCoordQRect_MiddlePositiveInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddlePositiveInt )
2700 << QRect( QPoint( INT_MAX/2, INT_MIN ), QPoint(INT_MAX/2-1, INT_MAX ) );
2701 QTest::newRow( "LargestCoordQRect_MaximumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MaximumInt )
2702 << QRect( QPoint( INT_MAX, INT_MIN ), QPoint(INT_MAX-1, INT_MAX ) );
2703 QTest::newRow( "LargestCoordQRect_RandomInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( RandomInt )
2704 << QRect( QPoint( 4953, INT_MIN ), QPoint(4952, INT_MAX ) );
2705 }
2706
2707 {
2708 QTest::newRow( "RandomQRect_MinimumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MinimumInt )
2709 << QRect( QPoint( INT_MIN, 200 ), QPoint(10+INT_MIN, 215 ) );
2710 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
2711 << QRect( QPoint( INT_MIN/2, 200 ), QPoint(10+INT_MIN/2, 215 ) );
2712 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
2713 << QRect( QPoint( 0, 200 ), QPoint(10, 215 ) );
2714 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
2715 << QRect( QPoint( INT_MAX/2, 200 ), QPoint(10+INT_MAX/2, 215 ) );
2716 // QTest::newRow( "RandomQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2717 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
2718 << QRect( QPoint( 4953, 200 ), QPoint(4963, 215 ) );
2719 }
2720
2721 {
2722 // QTest::newRow( "NegativeSizeQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2723 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
2724 << QRect( QPoint( INT_MIN/2, 1 ), QPoint(INT_MIN/2-11, -10 ) );
2725 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
2726 << QRect( QPoint( 0, 1 ), QPoint(-11, -10 ) );
2727 QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddlePositiveInt )
2728 << QRect( QPoint( INT_MAX/2, 1 ), QPoint(INT_MAX/2-11, -10 ) );
2729 QTest::newRow( "NegativeSizeQRect_MaximumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MaximumInt )
2730 << QRect( QPoint( INT_MAX, 1 ), QPoint(INT_MAX-11, -10 ) );
2731 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
2732 << QRect( QPoint( 4953, 1 ), QPoint(4942, -10 ) );
2733 }
2734
2735 {
2736 QTest::newRow( "NegativePointQRect_MinimumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MinimumInt )
2737 << QRect( QPoint( INT_MIN, -10 ), QPoint(4+INT_MIN, -6 ) );
2738 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
2739 << QRect( QPoint( INT_MIN/2, -10 ), QPoint(4+INT_MIN/2, -6 ) );
2740 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
2741 << QRect( QPoint( 0, -10 ), QPoint(4, -6 ) );
2742 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
2743 << QRect( QPoint( INT_MAX/2, -10 ), QPoint(4+INT_MAX/2, -6 ) );
2744 // QTest::newRow( "NegativePointQRect_MaximumInt" ) -- Not tested as this would cause an overflow
2745 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
2746 << QRect( QPoint( 4953, -10 ), QPoint(4957, -6 ) );
2747 }
2748
2749 {
2750 // QTest::newRow( "NullQRect_MinimumInt" ) -- Not tested as this would cause an overflow
2751 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
2752 << QRect( QPoint( INT_MIN/2, 5 ), QPoint(INT_MIN/2-1, 4 ) );
2753 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
2754 << QRect( QPoint( 0, 5 ), QPoint(-1, 4 ) );
2755 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
2756 << QRect( QPoint( INT_MAX/2, 5), QPoint(INT_MAX/2-1, 4 ) );
2757 QTest::newRow( "NullQRect_MaximumInt" ) << getQRectCase( NullQRect ) << getIntCase( MaximumInt )
2758 << QRect( QPoint( INT_MAX, 5 ), QPoint(INT_MAX-1, 4 ) );
2759 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
2760 << QRect( QPoint( 4953, 5 ), QPoint(4952, 4 ) );
2761 }
2762
2763 {
2764 // QTest::newRow( "EmptyQRect_MinimumInt" ) -- Not tested as this would cause an overflow
2765 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
2766 << QRect( QPoint( INT_MIN/2, 2 ), QPoint(INT_MIN/2-1, 1 ) );
2767 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
2768 << QRect( QPoint( 0, 2 ), QPoint(-1, 1 ) );
2769 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
2770 << QRect( QPoint( INT_MAX/2, 2 ), QPoint(INT_MAX/2-1, 1 ) );
2771 QTest::newRow( "EmptyQRect_MaximumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MaximumInt )
2772 << QRect( QPoint( INT_MAX, 2 ), QPoint(INT_MAX-1, 1 ) );
2773 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
2774 << QRect( QPoint( 4953, 2 ), QPoint(4952, 1 ) );
2775 }
2776 }
2777
newMoveLeft()2778 void tst_QRect::newMoveLeft()
2779 {
2780 QFETCH( QRect, r );
2781 QFETCH( int, left );
2782 QFETCH( QRect, nr );
2783
2784 r.moveLeft( left );
2785
2786 QCOMPARE( r, nr );
2787 }
2788
newMoveTop_data()2789 void tst_QRect::newMoveTop_data()
2790 {
2791 QTest::addColumn<QRect>("r");
2792 QTest::addColumn<int>("top");
2793 QTest::addColumn<QRect>("nr");
2794
2795 {
2796 // QTest::newRow( "InvalidQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2797 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
2798 << QRect( QPoint(0,INT_MIN/2), QPoint(-1,INT_MIN/2-1) );
2799 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
2800 << QRect( QPoint(0,0), QPoint(-1,-1) );
2801 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
2802 << QRect( QPoint(0,INT_MAX/2), QPoint(-1,INT_MAX/2-1) );
2803 QTest::newRow( "InvalidQRect_MaximumInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MaximumInt )
2804 << QRect( QPoint(0,INT_MAX), QPoint(-1,INT_MAX-1) );
2805 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
2806 << QRect( QPoint(0,4953), QPoint(-1,4952) );
2807 }
2808
2809 {
2810 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
2811 << QRect( QPoint(1,INT_MIN), QPoint(1,INT_MIN) );
2812 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
2813 << QRect( QPoint(1,INT_MIN/2), QPoint(1,INT_MIN/2) );
2814 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
2815 << QRect( QPoint(1,0), QPoint(1,0) );
2816 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
2817 << QRect( QPoint(1,INT_MAX/2), QPoint(1,INT_MAX/2) );
2818 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
2819 << QRect( QPoint(1,INT_MAX), QPoint(1,INT_MAX) );
2820 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
2821 << QRect( QPoint(1,4953), QPoint(1,4953) );
2822 }
2823
2824 {
2825 QTest::newRow( "MiddleQRect_MinimumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MinimumInt )
2826 << QRect( QPoint(INT_MIN / 2,INT_MIN ), QPoint(INT_MAX / 2,(INT_MAX/2)+(INT_MIN-INT_MIN/2)) );
2827 QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddleNegativeInt )
2828 << QRect( QPoint(INT_MIN / 2,INT_MIN / 2), QPoint(INT_MAX / 2,(INT_MAX/2)+(INT_MIN/2-INT_MIN/2)) );
2829 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
2830 << QRect( QPoint(INT_MIN / 2,0 ), QPoint(INT_MAX/2,(INT_MAX/2)+(0-INT_MIN/2)));
2831 // QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) -- Not tested as it would cause an overflow
2832 // QTest::newRow( "MiddleQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2833 // QTest::newRow( "MiddleQRect_RandomInt" ) -- Not tested as it would cause an overflow
2834 }
2835
2836 {
2837 QTest::newRow( "LargestQRect_MinimumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MinimumInt )
2838 << QRect( QPoint(0,INT_MIN), QPoint(INT_MAX - 1,(INT_MAX-1)+INT_MIN) );
2839 QTest::newRow( "LargestQRect_MiddleNegativeInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddleNegativeInt )
2840 << QRect( QPoint(0,INT_MIN/2), QPoint(INT_MAX - 1,(INT_MAX-1)+(INT_MIN/2)) );
2841 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
2842 << QRect( QPoint(0, 0), QPoint(INT_MAX-1,INT_MAX - 1) );
2843 // QTest::newRow( "LargestQRect_MiddlePositiveInt" ) -- Not tested as it would cause an overflow
2844 // QTest::newRow( "LargestQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2845 // QTest::newRow( "LargestQRect_RandomInt" ) -- Not tested as it would cause an overflow
2846 }
2847
2848 {
2849 // QTest::newRow( "SmallestCoordQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2850 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
2851 << QRect( QPoint(INT_MIN,INT_MIN/2), QPoint(INT_MIN,INT_MIN/2) );
2852 QTest::newRow( "SmallestCoordQRect_ZeroInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( ZeroInt )
2853 << QRect( QPoint(INT_MIN,0), QPoint(INT_MIN,0) );
2854 QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddlePositiveInt )
2855 << QRect( QPoint(INT_MIN,INT_MAX/2), QPoint(INT_MIN,INT_MAX/2) );
2856 QTest::newRow( "SmallestCoordQRect_MaximumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MaximumInt )
2857 << QRect( QPoint(INT_MIN,INT_MAX), QPoint(INT_MIN,INT_MAX) );
2858 QTest::newRow( "SmallestCoordQRect_RandomInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( RandomInt )
2859 << QRect( QPoint(INT_MIN,4953), QPoint(INT_MIN,4953) );
2860 }
2861
2862 {
2863 // QTest::newRow( "LargestCoordQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2864 QTest::newRow( "LargestCoordQRect_MiddleNegativeInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddleNegativeInt )
2865 << QRect( QPoint(INT_MIN,INT_MIN/2), QPoint(INT_MAX,INT_MIN/2-1) );
2866 QTest::newRow( "LargestCoordQRect_ZeroInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( ZeroInt )
2867 << QRect( QPoint(INT_MIN,0), QPoint(INT_MAX,-1) );
2868 QTest::newRow( "LargestCoordQRect_MiddlePositiveInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MiddlePositiveInt )
2869 << QRect( QPoint(INT_MIN,INT_MAX/2), QPoint(INT_MAX,INT_MAX/2-1) );
2870 QTest::newRow( "LargestCoordQRect_MaximumInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( MaximumInt )
2871 << QRect( QPoint(INT_MIN,INT_MAX), QPoint(INT_MAX,INT_MAX-1) );
2872 QTest::newRow( "LargestCoordQRect_RandomInt" ) << getQRectCase( LargestCoordQRect ) << getIntCase( RandomInt )
2873 << QRect( QPoint(INT_MIN,4953), QPoint(INT_MAX,4952) );
2874 }
2875
2876 {
2877 QTest::newRow( "RandomQRect_MinimumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MinimumInt )
2878 << QRect( QPoint(100,INT_MIN), QPoint(110,15+INT_MIN) );
2879 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
2880 << QRect( QPoint(100,INT_MIN/2), QPoint(110,15+INT_MIN/2) );
2881 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
2882 << QRect( QPoint(100, 0), QPoint(110,15) );
2883 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
2884 << QRect( QPoint(100,INT_MAX/2), QPoint(110,15+INT_MAX/2) );
2885 // QTest::newRow( "RandomQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2886 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
2887 << QRect( QPoint(100,4953), QPoint(110,4968) );
2888 }
2889
2890 {
2891 // QTest::newRow( "NegativeSizeQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2892 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
2893 << QRect( QPoint(1,INT_MIN/2), QPoint(-10,INT_MIN/2-11) );
2894 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
2895 << QRect( QPoint(1,0), QPoint(-10,-11) );
2896 QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddlePositiveInt )
2897 << QRect( QPoint(1,INT_MAX/2), QPoint(-10,INT_MAX/2-11) );
2898 QTest::newRow( "NegativeSizeQRect_MaximumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MaximumInt )
2899 << QRect( QPoint(1,INT_MAX), QPoint(-10,INT_MAX-11) );
2900 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
2901 << QRect( QPoint(1,4953), QPoint(-10,4942) );
2902 }
2903
2904 {
2905 QTest::newRow( "NegativePointQRect_MinimumInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MinimumInt )
2906 << QRect( QPoint(-10,INT_MIN), QPoint(-6,4+INT_MIN) );
2907 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
2908 << QRect( QPoint(-10,INT_MIN/2), QPoint(-6,4+INT_MIN/2) );
2909 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
2910 << QRect( QPoint(-10,0), QPoint(-6,4) );
2911 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
2912 << QRect( QPoint(-10,INT_MAX/2), QPoint(-6,4+INT_MAX/2) );
2913 // QTest::newRow( "NegativePointQRect_MaximumInt" ) -- Not tested as this would cause an overflow
2914 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
2915 << QRect( QPoint(-10,4953), QPoint(-6,4957) );
2916 }
2917
2918 {
2919 // QTest::newRow( "NullQRect_MinimumInt" ) -- Not tested as this would cause an overflow
2920 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
2921 << QRect( QPoint(5,INT_MIN/2), QPoint(4,INT_MIN/2-1) );
2922 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
2923 << QRect( QPoint(5,0), QPoint(4,-1) );
2924 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
2925 << QRect( QPoint(5,INT_MAX/2), QPoint(4,INT_MAX/2-1) );
2926 QTest::newRow( "NullQRect_MaximumInt" ) << getQRectCase( NullQRect ) << getIntCase( MaximumInt )
2927 << QRect( QPoint(5,INT_MAX), QPoint(4,INT_MAX-1) );
2928 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
2929 << QRect( QPoint(5,4953), QPoint(4,4952) );
2930 }
2931
2932 {
2933 // QTest::newRow( "EmptyQRect_MinimumInt" ) -- Not tested as this would cause an overflow
2934 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
2935 << QRect( QPoint(2,INT_MIN/2), QPoint(1,INT_MIN/2-1) );
2936 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
2937 << QRect( QPoint(2,0), QPoint(1,-1) );
2938 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
2939 << QRect( QPoint(2,INT_MAX/2), QPoint(1,INT_MAX/2-1) );
2940 QTest::newRow( "EmptyQRect_MaximumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MaximumInt )
2941 << QRect( QPoint(2,INT_MAX), QPoint(1,INT_MAX-1) );
2942 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
2943 << QRect( QPoint(2,4953), QPoint(1,4952) );
2944 }
2945 }
2946
newMoveTop()2947 void tst_QRect::newMoveTop()
2948 {
2949 QFETCH( QRect, r );
2950 QFETCH( int, top );
2951 QFETCH( QRect, nr );
2952
2953 r.moveTop( top );
2954
2955 QCOMPARE( r, nr );
2956 }
2957
newMoveRight_data()2958 void tst_QRect::newMoveRight_data()
2959 {
2960 QTest::addColumn<QRect>("r");
2961 QTest::addColumn<int>("right");
2962 QTest::addColumn<QRect>("nr");
2963
2964 {
2965 // QTest::newRow( "InvalidQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2966 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
2967 << QRect( QPoint(INT_MIN/2+1,0), QPoint(INT_MIN/2,-1) );
2968 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
2969 << QRect( QPoint(1,0), QPoint(0,-1) );
2970 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
2971 << QRect( QPoint(INT_MAX/2+1,0), QPoint(INT_MAX/2,-1) );
2972 // QTest::newRow( "InvalidQRect_MaximumInt" ) -- Not tested as it would cause an overflow
2973 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
2974 << QRect( QPoint(4954,0), QPoint(4953,-1) );
2975 }
2976
2977 {
2978 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
2979 << QRect( QPoint(INT_MIN,1), QPoint(INT_MIN,1) );
2980 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
2981 << QRect( QPoint(INT_MIN/2,1), QPoint(INT_MIN/2,1) );
2982 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
2983 << QRect( QPoint(0,1), QPoint(0,1) );
2984 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
2985 << QRect( QPoint(INT_MAX/2,1), QPoint(INT_MAX/2,1) );
2986 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
2987 << QRect( QPoint(INT_MAX,1), QPoint(INT_MAX,1) );
2988 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
2989 << QRect( QPoint(4953,1), QPoint(4953,1) );
2990 }
2991
2992 {
2993 // QTest::newRow( "MiddleQRect_MinimumInt" ) -- Not tested as it would cause an overflow
2994 // QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) -- Not tested as it would cause an overflow
2995 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
2996 << QRect( QPoint(INT_MIN/2+(0-INT_MAX/2),INT_MIN/2), QPoint(0,INT_MAX/2));
2997 QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddlePositiveInt )
2998 << QRect(QPoint(INT_MIN/2+(INT_MAX/2-INT_MAX/2),INT_MIN/2),QPoint(INT_MAX/2,INT_MAX/2));
2999 QTest::newRow( "MiddleQRect_MaximumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MaximumInt )
3000 << QRect(QPoint(INT_MIN/2+(INT_MAX-INT_MAX/2),INT_MIN/2),QPoint(INT_MAX,INT_MAX/2));
3001 QTest::newRow( "MiddleQRect_RandomInt" ) << getQRectCase( MiddleQRect ) << getIntCase( RandomInt )
3002 << QRect(QPoint(INT_MIN/2+(4953-INT_MAX/2),INT_MIN/2),QPoint(4953,INT_MAX/2));
3003 }
3004
3005 {
3006 // QTest::newRow( "LargestQRect_MinimumInt" ) -- Not tested as it would cause an overflow
3007 // QTest::newRow( "LargestQRect_MiddleNegativeInt" ) -- Not tested as it would cause an overflow
3008 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
3009 << QRect( QPoint(0-(INT_MAX-1), 0), QPoint(0, INT_MAX - 1 ) );
3010 QTest::newRow( "LargestQRect_MiddlePositiveInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddlePositiveInt )
3011 << QRect( QPoint(INT_MAX/2-(INT_MAX-1), 0), QPoint(INT_MAX/2, INT_MAX - 1 ) );
3012 QTest::newRow( "LargestQRect_MaximumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MaximumInt )
3013 << QRect( QPoint(INT_MAX-(INT_MAX-1), 0), QPoint(INT_MAX, INT_MAX - 1 ) );
3014 QTest::newRow( "LargestQRect_RandomInt" ) << getQRectCase( LargestQRect ) << getIntCase( RandomInt )
3015 << QRect( QPoint(4953-(INT_MAX-1), 0), QPoint(4953, INT_MAX - 1 ) );
3016 }
3017
3018 {
3019 QTest::newRow( "SmallestCoordQRect_MinimumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MinimumInt )
3020 << QRect(QPoint(INT_MIN+(INT_MIN-INT_MIN),INT_MIN), QPoint(INT_MIN,INT_MIN) );
3021 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
3022 << QRect(QPoint(INT_MIN+(INT_MIN/2-INT_MIN),INT_MIN), QPoint(INT_MIN/2, INT_MIN ) );
3023 // QTest::newRow( "SmallestCoordQRect_ZeroInt" ) -- Not tested as it would cause an overflow
3024 // QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) -- Not tested as it would cause an overflow
3025 // QTest::newRow( "SmallestCoordQRect_MaximumInt" ) -- Not tested as it would cause an overflow
3026 // QTest::newRow( "SmallestCoordQRect_RandomInt" ) -- Not tested as it would cause an overflow
3027 }
3028
3029 {
3030 // LargestQRect cases -- Not tested as it would cause an overflow
3031 }
3032
3033 {
3034 // QTest::newRow( "RandomQRect_MinimumInt" ) -- Not tested as it would cause an overflow
3035 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
3036 << QRect( QPoint(100+(INT_MIN/2-110), 200 ), QPoint(INT_MIN/2, 215 ) );
3037 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
3038 << QRect( QPoint(-10, 200 ), QPoint(0, 215 ) );
3039 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
3040 << QRect( QPoint(100+(INT_MAX/2-110), 200 ), QPoint(INT_MAX/2, 215 ) );
3041 QTest::newRow( "RandomQRect_MaximumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MaximumInt )
3042 << QRect( QPoint(100+(INT_MAX-110), 200 ), QPoint(INT_MAX, 215 ) );
3043 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
3044 << QRect( QPoint(4943, 200 ), QPoint(4953, 215 ) );
3045 }
3046
3047 {
3048 QTest::newRow( "NegativeSizeQRect_MinimumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MinimumInt )
3049 << QRect( QPoint(1+(INT_MIN-(-10)), 1 ), QPoint(INT_MIN, -10 ) );
3050 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
3051 << QRect( QPoint(1+(INT_MIN/2-(-10)), 1 ), QPoint(INT_MIN/2, -10 ) );
3052 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
3053 << QRect( QPoint(11, 1 ), QPoint(0, -10 ) );
3054 // QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) -- Not tested as this would cause an overflow
3055 // QTest::newRow( "NegativeSizeQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3056 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
3057 << QRect( QPoint(4964, 1 ), QPoint(4953, -10 ) );
3058 }
3059
3060 {
3061 // QTest::newRow( "NegativePointQRect_MinimumInt" ) -- Not tested as this would cause an overflow
3062 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
3063 << QRect( QPoint((-10)+(INT_MIN/2-(-6)), -10 ), QPoint(INT_MIN/2, -6 ) );
3064 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
3065 << QRect( QPoint(-4, -10 ), QPoint(0, -6 ) );
3066 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
3067 << QRect( QPoint((-10)+(INT_MAX/2-(-6)), -10 ), QPoint(INT_MAX/2, -6 ) );
3068 // QTest::newRow( "NegativePointQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3069 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
3070 << QRect( QPoint(4949, -10 ), QPoint(4953, -6 ) );
3071 }
3072
3073 {
3074 // QTest::newRow( "NullQRect_MinimumInt" ) -- Not tested as this would cause an overflow
3075 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
3076 << QRect( QPoint(5+(INT_MIN/2-4), 5 ), QPoint(INT_MIN/2, 4 ) );
3077 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
3078 << QRect( QPoint(1, 5 ), QPoint(0, 4 ) );
3079 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
3080 << QRect( QPoint(5+(INT_MAX/2-4), 5 ), QPoint(INT_MAX/2, 4 ) );
3081 // QTest::newRow( "NullQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3082 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
3083 << QRect( QPoint(4954, 5 ), QPoint(4953, 4 ) );
3084 }
3085
3086 {
3087 QTest::newRow( "EmptyQRect_MinimumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MinimumInt )
3088 << QRect( QPoint(INT_MIN+1,2 ), QPoint(INT_MIN, 1 ) );
3089 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
3090 << QRect( QPoint(INT_MIN/2+1, 2 ), QPoint(INT_MIN/2, 1 ) );
3091 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
3092 << QRect( QPoint(1,2 ), QPoint(0, 1 ) );
3093 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
3094 << QRect( QPoint(INT_MAX/2+1,2 ), QPoint(INT_MAX/2, 1 ) );
3095 // QTest::newRow( "EmptyQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3096 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
3097 << QRect( QPoint( 4954, 2 ), QPoint(4953, 1 ) );
3098 }
3099 }
3100
newMoveRight()3101 void tst_QRect::newMoveRight()
3102 {
3103 QFETCH( QRect, r );
3104 QFETCH( int, right );
3105 QFETCH( QRect, nr );
3106
3107 r.moveRight( right );
3108
3109 QCOMPARE( r, nr );
3110 }
3111
newMoveBottom_data()3112 void tst_QRect::newMoveBottom_data()
3113 {
3114 QTest::addColumn<QRect>("r");
3115 QTest::addColumn<int>("bottom");
3116 QTest::addColumn<QRect>("nr");
3117
3118 {
3119 // QTest::newRow( "InvalidQRect_MinimumInt" ) -- Not tested as it would cause an overflow
3120 QTest::newRow( "InvalidQRect_MiddleNegativeInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddleNegativeInt )
3121 << QRect( QPoint(0,INT_MIN/2+1), QPoint(-1,INT_MIN/2) );
3122 QTest::newRow( "InvalidQRect_ZeroInt" ) << getQRectCase( InvalidQRect ) << getIntCase( ZeroInt )
3123 << QRect( QPoint(0,1), QPoint(-1,0) );
3124 QTest::newRow( "InvalidQRect_MiddlePositiveInt" ) << getQRectCase( InvalidQRect ) << getIntCase( MiddlePositiveInt )
3125 << QRect( QPoint(0,INT_MAX/2+1), QPoint(-1,INT_MAX/2) );
3126 // QTest::newRow( "InvalidQRect_MaximumInt" ) -- Not tested as it would cause an overflow
3127 QTest::newRow( "InvalidQRect_RandomInt" ) << getQRectCase( InvalidQRect ) << getIntCase( RandomInt )
3128 << QRect( QPoint(0,4954), QPoint(-1,4953) );
3129 }
3130
3131 {
3132 QTest::newRow( "SmallestQRect_MinimumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MinimumInt )
3133 << QRect( QPoint(1,INT_MIN), QPoint(1,INT_MIN) );
3134 QTest::newRow( "SmallestQRect_MiddleNegativeInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddleNegativeInt )
3135 << QRect( QPoint(1,INT_MIN/2), QPoint(1,INT_MIN/2) );
3136 QTest::newRow( "SmallestQRect_ZeroInt" ) << getQRectCase( SmallestQRect ) << getIntCase( ZeroInt )
3137 << QRect( QPoint(1,0), QPoint(1,0) );
3138 QTest::newRow( "SmallestQRect_MiddlePositiveInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MiddlePositiveInt )
3139 << QRect( QPoint(1,INT_MAX/2), QPoint(1,INT_MAX/2) );
3140 QTest::newRow( "SmallestQRect_MaximumInt" ) << getQRectCase( SmallestQRect ) << getIntCase( MaximumInt )
3141 << QRect( QPoint(1,INT_MAX), QPoint(1,INT_MAX) );
3142 QTest::newRow( "SmallestQRect_RandomInt" ) << getQRectCase( SmallestQRect ) << getIntCase( RandomInt )
3143 << QRect( QPoint(1,4953), QPoint(1,4953) );
3144 }
3145
3146 {
3147 // QTest::newRow( "MiddleQRect_MinimumInt" ) -- Not tested as it would cause an overflow
3148 // QTest::newRow( "MiddleQRect_MiddleNegativeInt" ) -- Not tested as it would cause an overflow
3149 QTest::newRow( "MiddleQRect_ZeroInt" ) << getQRectCase( MiddleQRect ) << getIntCase( ZeroInt )
3150 << QRect( QPoint(INT_MIN/2,INT_MIN/2+(0-INT_MAX/2)), QPoint(INT_MAX/2,0));
3151 QTest::newRow( "MiddleQRect_MiddlePositiveInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MiddlePositiveInt )
3152 << QRect(QPoint(INT_MIN/2,INT_MIN/2+(INT_MAX/2-INT_MAX/2)),QPoint(INT_MAX/2,INT_MAX/2));
3153 QTest::newRow( "MiddleQRect_MaximumInt" ) << getQRectCase( MiddleQRect ) << getIntCase( MaximumInt )
3154 << QRect(QPoint(INT_MIN/2,INT_MIN/2+(INT_MAX-INT_MAX/2)),QPoint(INT_MAX/2,INT_MAX));
3155 QTest::newRow( "MiddleQRect_RandomInt" ) << getQRectCase( MiddleQRect ) << getIntCase( RandomInt )
3156 << QRect(QPoint(INT_MIN/2,INT_MIN/2+(4953-INT_MAX/2)),QPoint(INT_MAX/2,4953));
3157 }
3158
3159 {
3160 // QTest::newRow( "LargestQRect_MinimumInt" ) -- Not tested as it would cause an overflow
3161 // QTest::newRow( "LargestQRect_MiddleNegativeInt" ) -- Not tested as it would cause an overflow
3162 QTest::newRow( "LargestQRect_ZeroInt" ) << getQRectCase( LargestQRect ) << getIntCase( ZeroInt )
3163 << QRect( QPoint(0,0-(INT_MAX-1)), QPoint(INT_MAX - 1,0 ) );
3164 QTest::newRow( "LargestQRect_MiddlePositiveInt" ) << getQRectCase( LargestQRect ) << getIntCase( MiddlePositiveInt )
3165 << QRect( QPoint(0,INT_MAX/2-(INT_MAX-1)), QPoint(INT_MAX - 1,INT_MAX/2 ) );
3166 QTest::newRow( "LargestQRect_MaximumInt" ) << getQRectCase( LargestQRect ) << getIntCase( MaximumInt )
3167 << QRect( QPoint(0,INT_MAX-(INT_MAX-1)), QPoint(INT_MAX - 1,INT_MAX) );
3168 QTest::newRow( "LargestQRect_RandomInt" ) << getQRectCase( LargestQRect ) << getIntCase( RandomInt )
3169 << QRect( QPoint(0,4953-(INT_MAX-1)), QPoint(INT_MAX - 1,4953) );
3170 }
3171
3172 {
3173 QTest::newRow( "SmallestCoordQRect_MinimumInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MinimumInt )
3174 << QRect(QPoint(INT_MIN,INT_MIN+(INT_MIN-INT_MIN)), QPoint(INT_MIN,INT_MIN) );
3175 QTest::newRow( "SmallestCoordQRect_MiddleNegativeInt" ) << getQRectCase( SmallestCoordQRect ) << getIntCase( MiddleNegativeInt )
3176 << QRect(QPoint(INT_MIN,INT_MIN+(INT_MIN/2-INT_MIN)), QPoint(INT_MIN,INT_MIN/2) );
3177 // QTest::newRow( "SmallestCoordQRect_ZeroInt" ) -- Not tested as it would cause an overflow
3178 // QTest::newRow( "SmallestCoordQRect_MiddlePositiveInt" ) -- Not tested as it would cause an overflow
3179 // QTest::newRow( "SmallestCoordQRect_MaximumInt" ) -- Not tested as it would cause an overflow
3180 // QTest::newRow( "SmallestCoordQRect_RandomInt" ) -- Not tested as it would cause an overflow
3181 }
3182
3183 {
3184 // LargestQRect cases -- Not tested as it would cause an overflow
3185 }
3186
3187 {
3188 // QTest::newRow( "RandomQRect_MinimumInt" ) -- Not tested as it would cause an overflow
3189 QTest::newRow( "RandomQRect_MiddleNegativeInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddleNegativeInt )
3190 << QRect( QPoint(100,200+(INT_MIN/2-215)), QPoint(110,INT_MIN/2) );
3191 QTest::newRow( "RandomQRect_ZeroInt" ) << getQRectCase( RandomQRect ) << getIntCase( ZeroInt )
3192 << QRect( QPoint(100,-15), QPoint(110,0) );
3193 QTest::newRow( "RandomQRect_MiddlePositiveInt" ) << getQRectCase( RandomQRect ) << getIntCase( MiddlePositiveInt )
3194 << QRect( QPoint(100,200+(INT_MAX/2-215)), QPoint(110,INT_MAX/2) );
3195 QTest::newRow( "RandomQRect_MaximumInt" ) << getQRectCase( RandomQRect ) << getIntCase( MaximumInt )
3196 << QRect( QPoint(100,200+(INT_MAX-215)), QPoint(110,INT_MAX) );
3197 QTest::newRow( "RandomQRect_RandomInt" ) << getQRectCase( RandomQRect ) << getIntCase( RandomInt )
3198 << QRect( QPoint(100,4938), QPoint(110,4953) );
3199 }
3200
3201 {
3202 QTest::newRow( "NegativeSizeQRect_MinimumInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MinimumInt )
3203 << QRect( QPoint(1,1+(INT_MIN-(-10))), QPoint(-10,INT_MIN));
3204 QTest::newRow( "NegativeSizeQRect_MiddleNegativeInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( MiddleNegativeInt )
3205 << QRect( QPoint(1,1+(INT_MIN/2-(-10))), QPoint(-10,INT_MIN/2));
3206 QTest::newRow( "NegativeSizeQRect_ZeroInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( ZeroInt )
3207 << QRect( QPoint(1,11), QPoint(-10,0) );
3208 // QTest::newRow( "NegativeSizeQRect_MiddlePositiveInt" ) -- Not tested as this would cause an overflow
3209 // QTest::newRow( "NegativeSizeQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3210 QTest::newRow( "NegativeSizeQRect_RandomInt" ) << getQRectCase( NegativeSizeQRect ) << getIntCase( RandomInt )
3211 << QRect( QPoint(1,4964), QPoint(-10,4953) );
3212 }
3213
3214 {
3215 // QTest::newRow( "NegativePointQRect_MinimumInt" ) -- Not tested as this would cause an overflow
3216 QTest::newRow( "NegativePointQRect_MiddleNegativeInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddleNegativeInt )
3217 << QRect( QPoint(-10,(-10)+(INT_MIN/2-(-6))), QPoint(-6,INT_MIN/2) );
3218 QTest::newRow( "NegativePointQRect_ZeroInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( ZeroInt )
3219 << QRect( QPoint(-10,-4), QPoint(-6,0) );
3220 QTest::newRow( "NegativePointQRect_MiddlePositiveInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( MiddlePositiveInt )
3221 << QRect( QPoint(-10,(-10)+(INT_MAX/2-(-6))), QPoint(-6,INT_MAX/2) );
3222 // QTest::newRow( "NegativePointQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3223 QTest::newRow( "NegativePointQRect_RandomInt" ) << getQRectCase( NegativePointQRect ) << getIntCase( RandomInt )
3224 << QRect( QPoint(-10,4949), QPoint(-6,4953) );
3225 }
3226
3227 {
3228 // QTest::newRow( "NullQRect_MinimumInt" ) -- Not tested as this would cause an overflow
3229 QTest::newRow( "NullQRect_MiddleNegativeInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddleNegativeInt )
3230 << QRect( QPoint(5,5+(INT_MIN/2-4)), QPoint(4,INT_MIN/2) );
3231 QTest::newRow( "NullQRect_ZeroInt" ) << getQRectCase( NullQRect ) << getIntCase( ZeroInt )
3232 << QRect( QPoint(5,1), QPoint(4,0) );
3233 QTest::newRow( "NullQRect_MiddlePositiveInt" ) << getQRectCase( NullQRect ) << getIntCase( MiddlePositiveInt )
3234 << QRect( QPoint(5,5+(INT_MAX/2-4)), QPoint(4,INT_MAX/2) );
3235 // QTest::newRow( "NullQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3236 QTest::newRow( "NullQRect_RandomInt" ) << getQRectCase( NullQRect ) << getIntCase( RandomInt )
3237 << QRect( QPoint(5,4954), QPoint(4,4953) );
3238 }
3239
3240 {
3241 QTest::newRow( "EmptyQRect_MinimumInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MinimumInt )
3242 << QRect( QPoint(2,INT_MIN+1), QPoint(1,INT_MIN) );
3243 QTest::newRow( "EmptyQRect_MiddleNegativeInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddleNegativeInt )
3244 << QRect( QPoint(2,INT_MIN/2+1), QPoint(1,INT_MIN/2) );
3245 QTest::newRow( "EmptyQRect_ZeroInt" ) << getQRectCase( EmptyQRect ) << getIntCase( ZeroInt )
3246 << QRect( QPoint(2,1), QPoint(1,0) );
3247 QTest::newRow( "EmptyQRect_MiddlePositiveInt" ) << getQRectCase( EmptyQRect ) << getIntCase( MiddlePositiveInt )
3248 << QRect( QPoint(2,INT_MAX/2+1), QPoint(1,INT_MAX/2) );
3249 // QTest::newRow( "EmptyQRect_MaximumInt" ) -- Not tested as this would cause an overflow
3250 QTest::newRow( "EmptyQRect_RandomInt" ) << getQRectCase( EmptyQRect ) << getIntCase( RandomInt )
3251 << QRect( QPoint(2,4954), QPoint(1,4953) );
3252 }
3253 }
3254
newMoveBottom()3255 void tst_QRect::newMoveBottom()
3256 {
3257 QFETCH( QRect, r );
3258 QFETCH( int, bottom );
3259 QFETCH( QRect, nr );
3260
3261 r.moveBottom( bottom );
3262
3263 QCOMPARE( r, nr );
3264 }
3265
newMoveTopLeft_data()3266 void tst_QRect::newMoveTopLeft_data()
3267 {
3268 QTest::addColumn<QRect>("r");
3269 QTest::addColumn<QPoint>("topLeft");
3270 QTest::addColumn<QRect>("nr");
3271
3272 {
3273 QTest::newRow("InvalidQRect_NullQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NullQPoint)
3274 << QRect(QPoint(0,0), QPoint(-1,-1));
3275 // QTest::newRow("InvalidQRect_SmallestCoordQPoint") -- Not tested as this would cause an overflow
3276 QTest::newRow("InvalidQRect_MiddleNegCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddleNegCoordQPoint)
3277 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(-1+(INT_MIN/2-0),-1+(INT_MIN/2-0)));
3278 QTest::newRow("InvalidQRect_MiddlePosCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddlePosCoordQPoint)
3279 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(-1+(INT_MAX/2-0),-1+(INT_MAX/2-0)));
3280 QTest::newRow("InvalidQRect_LargestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(LargestCoordQPoint)
3281 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(-1+(INT_MAX-0),-1+(INT_MAX-0)));
3282 QTest::newRow("InvalidQRect_NegXQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegXQPoint)
3283 << QRect(QPoint(-12,7), QPoint(-13,6));
3284 QTest::newRow("InvalidQRect_NegYQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegYQPoint)
3285 << QRect(QPoint(12,-7), QPoint(11,-8));
3286 QTest::newRow("InvalidQRect_RandomQPoint") << getQRectCase(InvalidQRect) << getQPointCase(RandomQPoint)
3287 << QRect(QPoint(12,7), QPoint(11,6));
3288 }
3289
3290 {
3291 QTest::newRow("SmallestQRect_NullQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NullQPoint)
3292 << QRect(QPoint(0,0), QPoint(0,0));
3293 QTest::newRow("SmallestQRect_SmallestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(SmallestCoordQPoint)
3294 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN,INT_MIN));
3295 QTest::newRow("SmallestQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddleNegCoordQPoint)
3296 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MIN/2,INT_MIN/2));
3297 QTest::newRow("SmallestQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddlePosCoordQPoint)
3298 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(INT_MAX/2,INT_MAX/2));
3299 QTest::newRow("SmallestQRect_LargestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(LargestCoordQPoint)
3300 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MAX,INT_MAX));
3301 QTest::newRow("SmallestQRect_NegXQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegXQPoint)
3302 << QRect(QPoint(-12,7), QPoint(-12,7));
3303 QTest::newRow("SmallestQRect_NegYQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegYQPoint)
3304 << QRect(QPoint(12,-7), QPoint(12,-7));
3305 QTest::newRow("SmallestQRect_RandomQPoint") << getQRectCase(SmallestQRect) << getQPointCase(RandomQPoint)
3306 << QRect(QPoint(12,7), QPoint(12,7));
3307 }
3308
3309 {
3310 QTest::newRow("MiddleQRect_NullQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NullQPoint)
3311 << QRect(QPoint(0,0), QPoint(INT_MAX/2+(0-INT_MIN/2),INT_MAX/2+(0-INT_MIN/2)));
3312 QTest::newRow("MiddleQRect_SmallestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(SmallestCoordQPoint)
3313 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX/2+(INT_MIN-INT_MIN/2),INT_MAX/2+(INT_MIN-INT_MIN/2)));
3314 QTest::newRow("MiddleQRect_MiddleNegCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddleNegCoordQPoint)
3315 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MAX/2,INT_MAX/2));
3316 // QTest::newRow("MiddleQRect_MiddlePosCoordQPoint") -- Not tested as it would cause an overflow
3317 // QTest::newRow("MiddleQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3318 // QTest::newRow("MiddleQRect_NegXQPoint") -- Not tested as it would cause an overflow
3319 // QTest::newRow("MiddleQRect_NegYQPoint") -- Not tested as it would cause an overflow
3320 // QTest::newRow("MiddleQRect_RandomQPoint") -- Not tested as it would cause an overflow
3321 }
3322
3323 {
3324 QTest::newRow("LargestQRect_NullQPoint") << getQRectCase(LargestQRect) << getQPointCase(NullQPoint)
3325 << QRect(QPoint(0,0), QPoint(INT_MAX-1,INT_MAX-1));
3326 QTest::newRow("LargestQRect_SmallestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(SmallestCoordQPoint)
3327 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX-1+INT_MIN,INT_MAX-1+INT_MIN));
3328 // QTest::newRow("LargestQRect_MiddleNegCoordQPoint") -- Not tested as it would cause an overflow
3329 // QTest::newRow("LargestQRect_MiddlePosCoordQPoint") -- Not tested as it would cause an overflow
3330 // QTest::newRow("LargestQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3331 // QTest::newRow("LargestQRect_NegXQPoint") -- Not tested as it would cause an overflow
3332 // QTest::newRow("LargestQRect_NegYQPoint") -- Not tested as it would cause an overflow
3333 // QTest::newRow("LargestQRect_RandomQPoint") -- Not tested as it would cause an overflow
3334 }
3335
3336 {
3337 // QTest::newRow("SmallestCoordQRect_NullQPoint") -- Not tested as it would cause an overflow
3338 QTest::newRow("SmallestCoordQRect_SmallestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(SmallestCoordQPoint)
3339 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN,INT_MIN));
3340 QTest::newRow("SmallestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
3341 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(INT_MIN+(INT_MIN/2-INT_MIN),INT_MIN+(INT_MIN/2-INT_MIN)));
3342 // QTest::newRow("SmallestCoordQRect_MiddlePosCoordQPoint") -- Not tested as it would cause an overflow
3343 // QTest::newRow("SmallestCoordQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3344 // QTest::newRow("SmallestCoordQRect_NegXQPoint") -- Not tested as it would cause an overflow
3345 // QTest::newRow("SmallestCoordQRect_NegYQPoint") -- Not tested as it would cause an overflow
3346 // QTest::newRow("SmallestCoordQRect_RandomQPoint") -- Not tested as it would cause an overflow
3347 }
3348
3349 {
3350 QTest::newRow("LargestCoordQRect_NullQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(NullQPoint)
3351 << QRect(QPoint(0,0), QPoint(INT_MAX+(0-INT_MIN),INT_MAX+(0-INT_MIN)));
3352 QTest::newRow("LargestCoordQRect_SmallestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(SmallestCoordQPoint)
3353 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MAX,INT_MAX));
3354 // QTest::newRow("LargestCoordQRect_MiddleNegCoordQPoint") -- Not tested as it would cause an overflow
3355 // QTest::newRow("LargestCoordQRect_MiddlePosCoordQPoint") -- Not tested as it would cause an overflow
3356 // QTest::newRow("LargestCoordQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3357 // QTest::newRow("LargestCoordQRect_NegXQPoint") -- Not tested as it would cause an overflow
3358 // QTest::newRow("LargestCoordQRect_NegYQPoint") -- Not tested as it would cause an overflow
3359 // QTest::newRow("LargestCoordQRect_RandomQPoint") -- Not tested as it would cause an overflow
3360 }
3361
3362 {
3363 QTest::newRow("RandomQRect_NullQPoint") << getQRectCase(RandomQRect) << getQPointCase(NullQPoint)
3364 << QRect(QPoint(0,0), QPoint(10,15));
3365 // QTest::newRow("RandomQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3366 QTest::newRow("RandomQRect_MiddleNegCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddleNegCoordQPoint)
3367 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(110+(INT_MIN/2-100),215+(INT_MIN/2-200)));
3368 QTest::newRow("RandomQRect_MiddlePosCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddlePosCoordQPoint)
3369 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(110+(INT_MAX/2-100),215+(INT_MAX/2-200)));
3370 // QTest::newRow("RandomQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3371 QTest::newRow("RandomQRect_NegXQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegXQPoint)
3372 << QRect(QPoint(-12,7), QPoint(-2,22));
3373 QTest::newRow("RandomQRect_NegYQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegYQPoint)
3374 << QRect(QPoint(12,-7), QPoint(22,8));
3375 QTest::newRow("RandomQRect_RandomQPoint") << getQRectCase(RandomQRect) << getQPointCase(RandomQPoint)
3376 << QRect(QPoint(12,7), QPoint(22,22));
3377 }
3378
3379 {
3380 QTest::newRow("NegativeSizeQRect_NullQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NullQPoint)
3381 << QRect(QPoint(0,0), QPoint(-11,-11));
3382 // QTest::newRow("NegativeSizeQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3383 QTest::newRow("NegativeSizeQRect_MiddleNegCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddleNegCoordQPoint)
3384 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint(-10+((INT_MIN/2)-1),-10+((INT_MIN/2)-1)));
3385 QTest::newRow("NegativeSizeQRect_MiddlePosCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddlePosCoordQPoint)
3386 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint(-10+((INT_MAX/2)-1),-10+((INT_MAX/2)-1)));
3387 // QTest::newRow("NegativeSizeQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3388 QTest::newRow("NegativeSizeQRect_NegXQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegXQPoint)
3389 << QRect(QPoint(-12,7), QPoint(-23,-4));
3390 QTest::newRow("NegativeSizeQRect_NegYQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegYQPoint)
3391 << QRect(QPoint(12,-7), QPoint(1,-18));
3392 QTest::newRow("NegativeSizeQRect_RandomQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(RandomQPoint)
3393 << QRect(QPoint(12,7), QPoint(1,-4));
3394 }
3395
3396 {
3397 QTest::newRow("NegativePointQRect_NullQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NullQPoint)
3398 << QRect(QPoint(0,0), QPoint(4,4));
3399 QTest::newRow("NegativePointQRect_SmallestCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(SmallestCoordQPoint)
3400 << QRect(QPoint(INT_MIN,INT_MIN), QPoint(INT_MIN+4,INT_MIN+4));
3401 QTest::newRow("NegativePointQRect_MiddleNegCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddleNegCoordQPoint)
3402 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint((INT_MIN/2)+4,(INT_MIN/2)+4));
3403 QTest::newRow("NegativePointQRect_MiddlePosCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddlePosCoordQPoint)
3404 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint((INT_MAX/2)+4,(INT_MAX/2)+4));
3405 // QTest::newRow("NegativePointQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3406 QTest::newRow("NegativePointQRect_NegXQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegXQPoint)
3407 << QRect(QPoint(-12,7), QPoint(-8,11));
3408 QTest::newRow("NegativePointQRect_NegYQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegYQPoint)
3409 << QRect(QPoint(12,-7), QPoint(16,-3));
3410 QTest::newRow("NegativePointQRect_RandomQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(RandomQPoint)
3411 << QRect(QPoint(12,7), QPoint(16,11));
3412 }
3413
3414 {
3415 QTest::newRow("NullQRect_NullQPoint") << getQRectCase(NullQRect) << getQPointCase(NullQPoint)
3416 << QRect(QPoint(0,0), QPoint(-1,-1));
3417 // QTest::newRow("NullQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3418 QTest::newRow("NullQRect_MiddleNegCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddleNegCoordQPoint)
3419 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint((INT_MIN/2)-1,(INT_MIN/2)-1));
3420 QTest::newRow("NullQRect_MiddlePosCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddlePosCoordQPoint)
3421 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint((INT_MAX/2)-1,(INT_MAX/2)-1));
3422 QTest::newRow("NullQRect_LargestCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(LargestCoordQPoint)
3423 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MAX-1,INT_MAX-1));
3424 QTest::newRow("NullQRect_NegXQPoint") << getQRectCase(NullQRect) << getQPointCase(NegXQPoint)
3425 << QRect(QPoint(-12,7), QPoint(-13,6));
3426 QTest::newRow("NullQRect_NegYQPoint") << getQRectCase(NullQRect) << getQPointCase(NegYQPoint)
3427 << QRect(QPoint(12,-7), QPoint(11,-8));
3428 QTest::newRow("NullQRect_RandomQPoint") << getQRectCase(NullQRect) << getQPointCase(RandomQPoint)
3429 << QRect(QPoint(12,7), QPoint(11,6));
3430 }
3431
3432 {
3433 QTest::newRow("EmptyQRect_NullQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NullQPoint)
3434 << QRect(QPoint(0,0), QPoint(-1,-1));
3435 // QTest::newRow("EmptyQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3436 QTest::newRow("EmptyQRect_MiddleNegCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddleNegCoordQPoint)
3437 << QRect(QPoint(INT_MIN/2,INT_MIN/2), QPoint((INT_MIN/2)-1,(INT_MIN/2)-1));
3438 QTest::newRow("EmptyQRect_MiddlePosCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddlePosCoordQPoint)
3439 << QRect(QPoint(INT_MAX/2,INT_MAX/2), QPoint((INT_MAX/2)-1,(INT_MAX/2)-1));
3440 QTest::newRow("EmptyQRect_LargestCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(LargestCoordQPoint)
3441 << QRect(QPoint(INT_MAX,INT_MAX), QPoint(INT_MAX-1,INT_MAX-1));
3442 QTest::newRow("EmptyQRect_NegXQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegXQPoint)
3443 << QRect(QPoint(-12,7), QPoint(-13,6));
3444 QTest::newRow("EmptyQRect_NegYQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegYQPoint)
3445 << QRect(QPoint(12,-7), QPoint(11,-8));
3446 QTest::newRow("EmptyQRect_RandomQPoint") << getQRectCase(EmptyQRect) << getQPointCase(RandomQPoint)
3447 << QRect(QPoint(12,7), QPoint(11,6));
3448 }
3449 }
3450
newMoveTopLeft()3451 void tst_QRect::newMoveTopLeft()
3452 {
3453 QFETCH(QRect,r);
3454 QFETCH(QPoint,topLeft);
3455 QFETCH(QRect,nr);
3456
3457 r.moveTopLeft(topLeft);
3458
3459 QCOMPARE(r,nr);
3460 }
3461
newMoveBottomRight_data()3462 void tst_QRect::newMoveBottomRight_data()
3463 {
3464 QTest::addColumn<QRect>("r");
3465 QTest::addColumn<QPoint>("bottomRight");
3466 QTest::addColumn<QRect>("nr");
3467
3468 {
3469 QTest::newRow("InvalidQRect_NullQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NullQPoint)
3470 << QRect(QPoint(0+(0-(-1)),0+(0-(-1))), QPoint(0,0));
3471 QTest::newRow("InvalidQRect_SmallestCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(SmallestCoordQPoint)
3472 << QRect(QPoint(0+(INT_MIN-(-1)),0+(INT_MIN-(-1))), QPoint(INT_MIN,INT_MIN));
3473 QTest::newRow("InvalidQRect_MiddleNegCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddleNegCoordQPoint)
3474 << QRect(QPoint(0+((INT_MIN/2)-(-1)),0+((INT_MIN/2)-(-1))), QPoint(INT_MIN/2,INT_MIN/2));
3475 QTest::newRow("InvalidQRect_MiddlePosCoordQPoint") << getQRectCase(InvalidQRect) << getQPointCase(MiddlePosCoordQPoint)
3476 << QRect(QPoint(0+((INT_MAX/2)-(-1)),0+((INT_MAX/2)-(-1))), QPoint(INT_MAX/2,INT_MAX/2));
3477 // QTest::newRow("InvalidQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3478 QTest::newRow("InvalidQRect_NegXQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegXQPoint)
3479 << QRect(QPoint(0+(-12-(-1)),0+(7-(-1))), QPoint(-12,7));
3480 QTest::newRow("InvalidQRect_NegYQPoint") << getQRectCase(InvalidQRect) << getQPointCase(NegYQPoint)
3481 << QRect(QPoint(0+(12-(-1)),0+(-7-(-1))), QPoint(12,-7));
3482 QTest::newRow("InvalidQRect_RandomQPoint") << getQRectCase(InvalidQRect) << getQPointCase(RandomQPoint)
3483 << QRect(QPoint(0+(12-(-1)),0+(7-(-1))), QPoint(12,7));
3484 }
3485
3486 {
3487 QTest::newRow("SmallestQRect_NullQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NullQPoint)
3488 << QRect(QPoint(1+(0-1),1+(0-1)), QPoint(0,0));
3489 // QTest::newRow("SmallestQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3490 QTest::newRow("SmallestQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddleNegCoordQPoint)
3491 << QRect(QPoint(1+((INT_MIN/2)-1),1+((INT_MIN/2)-1)), QPoint(INT_MIN/2,INT_MIN/2));
3492 QTest::newRow("SmallestQRect_MiddlePosCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(MiddlePosCoordQPoint)
3493 << QRect(QPoint(1+((INT_MAX/2)-1),1+((INT_MAX/2)-1)), QPoint(INT_MAX/2,INT_MAX/2));
3494 QTest::newRow("SmallestQRect_LargestCoordQPoint") << getQRectCase(SmallestQRect) << getQPointCase(LargestCoordQPoint)
3495 << QRect(QPoint(1+(INT_MAX-1),1+(INT_MAX-1)), QPoint(INT_MAX,INT_MAX));
3496 QTest::newRow("SmallestQRect_NegXQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegXQPoint)
3497 << QRect(QPoint(1+(-12-1),1+(7-1)), QPoint(-12,7));
3498 QTest::newRow("SmallestQRect_NegYQPoint") << getQRectCase(SmallestQRect) << getQPointCase(NegYQPoint)
3499 << QRect(QPoint(1+(12-1),1+(-7-1)), QPoint(12,-7));
3500 QTest::newRow("SmallestQRect_RandomQPoint") << getQRectCase(SmallestQRect) << getQPointCase(RandomQPoint)
3501 << QRect(QPoint(1+(12-1),1+(7-1)), QPoint(12,7));
3502 }
3503
3504 {
3505 QTest::newRow("MiddleQRect_NullQPoint") << getQRectCase(MiddleQRect) << getQPointCase(NullQPoint)
3506 << QRect(QPoint(INT_MIN/2+(0-(INT_MAX/2)),INT_MIN/2+(0-(INT_MAX/2))), QPoint(0,0));
3507 // QTest::newRow("MiddleQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3508 // QTest::newRow("MiddleQRect_MiddleNegCoordQPoint") -- Not tested as it would cause an overflow
3509 QTest::newRow("MiddleQRect_MiddlePosCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(MiddlePosCoordQPoint)
3510 << QRect(QPoint(INT_MIN/2+((INT_MAX/2)-(INT_MAX/2)),INT_MIN/2+((INT_MAX/2)-(INT_MAX/2))), QPoint(INT_MAX/2,INT_MAX/2));
3511 QTest::newRow("MiddleQRect_LargestCoordQPoint") << getQRectCase(MiddleQRect) << getQPointCase(LargestCoordQPoint)
3512 << QRect(QPoint(INT_MIN/2+(INT_MAX-(INT_MAX/2)),INT_MIN/2+(INT_MAX-(INT_MAX/2))), QPoint(INT_MAX,INT_MAX));
3513 // QTest::newRow("MiddleQRect_NegXQPoint") -- Not tested as it would cause an overflow
3514 // QTest::newRow("MiddleQRect_NegYQPoint") -- Not tested as it would cause an overflow
3515 QTest::newRow("MiddleQRect_RandomQPoint") << getQRectCase(MiddleQRect) << getQPointCase(RandomQPoint)
3516 << QRect(QPoint(INT_MIN/2+(12-(INT_MAX/2)),INT_MIN/2+(7-(INT_MAX/2))), QPoint(12,7));
3517 }
3518
3519 {
3520 QTest::newRow("LargestQRect_NullQPoint") << getQRectCase(LargestQRect) << getQPointCase(NullQPoint)
3521 << QRect(QPoint(0+(0-(INT_MAX-1)),0+(0-(INT_MAX-1))), QPoint(0,0));
3522 // QTest::newRow("LargestQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3523 // QTest::newRow("LargestQRect_MiddleNegCoordQPoint") -- Not tested as it would cause an overflow
3524 QTest::newRow("LargestQRect_MiddlePosCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(MiddlePosCoordQPoint)
3525 << QRect(QPoint(0+((INT_MAX/2)-(INT_MAX-1)),0+((INT_MAX/2)-(INT_MAX-1))), QPoint(INT_MAX/2,INT_MAX/2));
3526 QTest::newRow("LargestQRect_LargestCoordQPoint") << getQRectCase(LargestQRect) << getQPointCase(LargestCoordQPoint)
3527 << QRect(QPoint(0+(INT_MAX-(INT_MAX-1)),0+(INT_MAX-(INT_MAX-1))), QPoint(INT_MAX,INT_MAX));
3528 // QTest::newRow("LargestQRect_NegXQPoint") -- Not tested as it would cause an overflow
3529 // QTest::newRow("LargestQRect_NegYQPoint") -- Not tested as it would cause an overflow
3530 QTest::newRow("LargestQRect_RandomQPoint") << getQRectCase(LargestQRect) << getQPointCase(RandomQPoint)
3531 << QRect(QPoint(0+(12-(INT_MAX-1)),0+(7-(INT_MAX-1))), QPoint(12,7));
3532 }
3533
3534 {
3535 // QTest::newRow("SmallestCoordQRect_NullQPoint") -- Not tested as it would cause an overflow
3536 QTest::newRow("SmallestCoordQRect_SmallestCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(SmallestCoordQPoint)
3537 << QRect(QPoint(INT_MIN+(INT_MIN-INT_MIN),INT_MIN+(INT_MIN-INT_MIN)), QPoint(INT_MIN,INT_MIN));
3538 QTest::newRow("SmallestCoordQRect_MiddleNegCoordQPoint") << getQRectCase(SmallestCoordQRect) << getQPointCase(MiddleNegCoordQPoint)
3539 << QRect(QPoint(INT_MIN+((INT_MIN/2)-INT_MIN),INT_MIN+((INT_MIN/2)-INT_MIN)), QPoint(INT_MIN/2,INT_MIN/2));
3540 // QTest::newRow("SmallestCoordQRect_MiddlePosCoordQPoint") -- Not tested as it would cause an overflow
3541 // QTest::newRow("SmallestCoordQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3542 // QTest::newRow("SmallestCoordQRect_NegXQPoint") -- Not tested as it would cause an overflow
3543 // QTest::newRow("SmallestCoordQRect_NegYQPoint") -- Not tested as it would cause an overflow
3544 // QTest::newRow("SmallestCoordQRect_RandomQPoint") -- Not tested as it would cause an overflow
3545 }
3546
3547 {
3548 // QTest::newRow("LargestCoordQRect_NullQPoint") -- Not tested as it would cause an overflow
3549 // QTest::newRow("LargestCoordQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3550 // QTest::newRow("LargestCoordQRect_MiddleNegCoordQPoint") -- Not tested as it would cause an overflow
3551 // QTest::newRow("LargestCoordQRect_MiddlePosCoordQPoint") -- Not tested as it would cause an overflow
3552 QTest::newRow("LargestCoordQRect_LargestCoordQPoint") << getQRectCase(LargestCoordQRect) << getQPointCase(LargestCoordQPoint)
3553 << QRect(QPoint(INT_MIN+(INT_MAX-INT_MAX),INT_MIN+(INT_MAX-INT_MAX)), QPoint(INT_MAX,INT_MAX));
3554 // QTest::newRow("LargestCoordQRect_NegXQPoint") -- Not tested as it would cause an overflow
3555 // QTest::newRow("LargestCoordQRect_NegYQPoint") -- Not tested as it would cause an overflow
3556 // QTest::newRow("LargestCoordQRect_RandomQPoint") -- Not tested as it would cause an overflow
3557 }
3558
3559 {
3560 QTest::newRow("RandomQRect_NullQPoint") << getQRectCase(RandomQRect) << getQPointCase(NullQPoint)
3561 << QRect(QPoint(100+(0-110),200+(0-215)), QPoint(0,0));
3562 // QTest::newRow("RandomQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3563 QTest::newRow("RandomQRect_MiddleNegCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddleNegCoordQPoint)
3564 << QRect(QPoint(100+((INT_MIN/2)-110),200+((INT_MIN/2)-215)), QPoint(INT_MIN/2,INT_MIN/2));
3565 QTest::newRow("RandomQRect_MiddlePosCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(MiddlePosCoordQPoint)
3566 << QRect(QPoint(100+((INT_MAX/2)-110),200+((INT_MAX/2)-215)), QPoint(INT_MAX/2,INT_MAX/2));
3567 QTest::newRow("RandomQRect_LargestCoordQPoint") << getQRectCase(RandomQRect) << getQPointCase(LargestCoordQPoint)
3568 << QRect(QPoint(100+(INT_MAX-110),200+(INT_MAX-215)), QPoint(INT_MAX,INT_MAX));
3569 QTest::newRow("RandomQRect_NegXQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegXQPoint)
3570 << QRect(QPoint(100+(-12-110),200+(7-215)), QPoint(-12,7));
3571 QTest::newRow("RandomQRect_NegYQPoint") << getQRectCase(RandomQRect) << getQPointCase(NegYQPoint)
3572 << QRect(QPoint(100+(12-110),200+(-7-215)), QPoint(12,-7));
3573 QTest::newRow("RandomQRect_RandomQPoint") << getQRectCase(RandomQRect) << getQPointCase(RandomQPoint)
3574 << QRect(QPoint(100+(12-110),200+(7-215)), QPoint(12,7));
3575 }
3576
3577 {
3578 QTest::newRow("NegativeSizeQRect_NullQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NullQPoint)
3579 << QRect(QPoint(1+(0-(-10)),1+(0-(-10))), QPoint(0,0));
3580 QTest::newRow("NegativeSizeQRect_SmallestCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(SmallestCoordQPoint)
3581 << QRect(QPoint(1+(INT_MIN-(-10)),1+(INT_MIN-(-10))), QPoint(INT_MIN,INT_MIN));
3582 QTest::newRow("NegativeSizeQRect_MiddleNegCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddleNegCoordQPoint)
3583 << QRect(QPoint(1+((INT_MIN/2)-(-10)),1+((INT_MIN/2)-(-10))), QPoint(INT_MIN/2,INT_MIN/2));
3584 QTest::newRow("NegativeSizeQRect_MiddlePosCoordQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(MiddlePosCoordQPoint)
3585 << QRect(QPoint(1+((INT_MAX/2)-(-10)),1+((INT_MAX/2)-(-10))), QPoint(INT_MAX/2,INT_MAX/2));
3586 // QTest::newRow("NegativeSizeQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3587 QTest::newRow("NegativeSizeQRect_NegXQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegXQPoint)
3588 << QRect(QPoint(1+(-12-(-10)),1+(7-(-10))), QPoint(-12,7));
3589 QTest::newRow("NegativeSizeQRect_NegYQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(NegYQPoint)
3590 << QRect(QPoint(1+(12-(-10)),1+(-7-(-10))), QPoint(12,-7));
3591 QTest::newRow("NegativeSizeQRect_RandomQPoint") << getQRectCase(NegativeSizeQRect) << getQPointCase(RandomQPoint)
3592 << QRect(QPoint(1+(12-(-10)),1+(7-(-10))), QPoint(12,7));
3593 }
3594
3595 {
3596 QTest::newRow("NegativePointQRect_NullQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NullQPoint)
3597 << QRect(QPoint((-10)+(0-(-6)),(-10)+(0-(-6))), QPoint(0,0));
3598 // QTest::newRow("NegativePointQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3599 QTest::newRow("NegativePointQRect_MiddleNegCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddleNegCoordQPoint)
3600 << QRect(QPoint((-10)+((INT_MIN/2)-(-6)),(-10)+((INT_MIN/2)-(-6))), QPoint(INT_MIN/2,INT_MIN/2));
3601 QTest::newRow("NegativePointQRect_MiddlePosCoordQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(MiddlePosCoordQPoint)
3602 << QRect(QPoint((-10)+((INT_MAX/2)-(-6)),(-10)+((INT_MAX/2)-(-6))), QPoint(INT_MAX/2,INT_MAX/2));
3603 // QTest::newRow("NegativePointQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3604 QTest::newRow("NegativePointQRect_NegXQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegXQPoint)
3605 << QRect(QPoint((-10)+(-12-(-6)),(-10)+(7-(-6))), QPoint(-12,7));
3606 QTest::newRow("NegativePointQRect_NegYQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(NegYQPoint)
3607 << QRect(QPoint((-10)+(12-(-6)),(-10)+(-7-(-6))), QPoint(12,-7));
3608 QTest::newRow("NegativePointQRect_RandomQPoint") << getQRectCase(NegativePointQRect) << getQPointCase(RandomQPoint)
3609 << QRect(QPoint((-10)+(12-(-6)),(-10)+(7-(-6))), QPoint(12,7));
3610 }
3611
3612 {
3613 QTest::newRow("NullQRect_NullQPoint") << getQRectCase(NullQRect) << getQPointCase(NullQPoint)
3614 << QRect(QPoint(5+(0-4),5+(0-4)), QPoint(0,0));
3615 // QTest::newRow("NullQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3616 QTest::newRow("NullQRect_MiddleNegCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddleNegCoordQPoint)
3617 << QRect(QPoint(5+((INT_MIN/2)-4),5+((INT_MIN/2)-4)), QPoint(INT_MIN/2,INT_MIN/2));
3618 QTest::newRow("NullQRect_MiddlePosCoordQPoint") << getQRectCase(NullQRect) << getQPointCase(MiddlePosCoordQPoint)
3619 << QRect(QPoint(5+((INT_MAX/2)-4),5+((INT_MAX/2)-4)), QPoint(INT_MAX/2,INT_MAX/2));
3620 // QTest::newRow("NullQRect_LargestCoordQPoint") -- Not tested as it would cause an overflow
3621 QTest::newRow("NullQRect_NegXQPoint") << getQRectCase(NullQRect) << getQPointCase(NegXQPoint)
3622 << QRect(QPoint(5+(-12-4),5+(7-4)), QPoint(-12,7));
3623 QTest::newRow("NullQRect_NegYQPoint") << getQRectCase(NullQRect) << getQPointCase(NegYQPoint)
3624 << QRect(QPoint(5+(12-4),5+(-7-4)), QPoint(12,-7));
3625 QTest::newRow("NullQRect_RandomQPoint") << getQRectCase(NullQRect) << getQPointCase(RandomQPoint)
3626 << QRect(QPoint(5+(12-4),5+(7-4)), QPoint(12,7));
3627 }
3628
3629 {
3630 QTest::newRow("EmptyQRect_NullQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NullQPoint)
3631 << QRect(QPoint(2+(0-1),2+(0-1)), QPoint(0,0));
3632 // QTest::newRow("EmptyQRect_SmallestCoordQPoint") -- Not tested as it would cause an overflow
3633 QTest::newRow("EmptyQRect_MiddleNegCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddleNegCoordQPoint)
3634 << QRect(QPoint(2+((INT_MIN/2)-1),2+((INT_MIN/2)-1)), QPoint(INT_MIN/2,INT_MIN/2));
3635 QTest::newRow("EmptyQRect_MiddlePosCoordQPoint") << getQRectCase(EmptyQRect) << getQPointCase(MiddlePosCoordQPoint)
3636 << QRect(QPoint(2+((INT_MAX/2)-1),2+((INT_MAX/2)-1)), QPoint(INT_MAX/2,INT_MAX/2));
3637 // QTest::newRow("EmptyQRect_LargestCoordQPoint") << getQRectCase(EmptyQRect) -- Not tested as it would cause an overflow
3638 QTest::newRow("EmptyQRect_NegXQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegXQPoint)
3639 << QRect(QPoint(2+(-12-1),2+(7-1)), QPoint(-12,7));
3640 QTest::newRow("EmptyQRect_NegYQPoint") << getQRectCase(EmptyQRect) << getQPointCase(NegYQPoint)
3641 << QRect(QPoint(2+(12-1),2+(-7-1)), QPoint(12,-7));
3642 QTest::newRow("EmptyQRect_RandomQPoint") << getQRectCase(EmptyQRect) << getQPointCase(RandomQPoint)
3643 << QRect(QPoint(2+(12-1),2+(7-1)), QPoint(12,7));
3644 }
3645 }
3646
newMoveBottomRight()3647 void tst_QRect::newMoveBottomRight()
3648 {
3649 QFETCH(QRect,r);
3650 QFETCH(QPoint,bottomRight);
3651 QFETCH(QRect,nr);
3652
3653 r.moveBottomRight(bottomRight);
3654
3655 QCOMPARE(r,nr);
3656 }
3657
3658
translate_data()3659 void tst_QRect::translate_data()
3660 {
3661 QTest::addColumn<QRect>("r");
3662 QTest::addColumn<QPoint>("delta");
3663 QTest::addColumn<QRect>("result");
3664
3665 QTest::newRow("Case 1") << QRect(10,20,5,15) << QPoint(3,7) << QRect(13,27,5,15);
3666 QTest::newRow("Case 2") << QRect(0,0,-1,-1) << QPoint(3,7) << QRect(3,7,-1,-1);
3667 QTest::newRow("Case 3") << QRect(0,0,-1,-1) << QPoint(0,0) << QRect(0,0,-1,-1);
3668 QTest::newRow("Case 4") << QRect(10,20,5,15) << QPoint(3,0) << QRect(13,20, 5,15);
3669 QTest::newRow("Case 5") << QRect(10,20,5,15) << QPoint(0,7) << QRect(10,27,5,15);
3670 QTest::newRow("Case 6") << QRect(10,20,5,15) << QPoint(-3,7) << QRect(7,27,5,15);
3671 QTest::newRow("Case 7") << QRect(10,20,5,15) << QPoint(3,-7) << QRect(13,13,5,15);
3672 }
3673
translate()3674 void tst_QRect::translate()
3675 {
3676 QFETCH(QRect, r);
3677 QFETCH(QPoint, delta);
3678 QFETCH(QRect, result);
3679
3680 QRect oldr = r;
3681 QRect r2 = r;
3682 r2.translate(delta);
3683 QCOMPARE(result,r2);
3684
3685 r2 = r;
3686 r2.translate(delta.x(), delta.y());
3687 QCOMPARE(result,r2);
3688
3689 r2 = r.translated(delta);
3690 QCOMPARE(result,r2);
3691 QCOMPARE(oldr,r); //r should not change
3692
3693 r2 = r.translated(delta.x(), delta.y());
3694 QCOMPARE(result,r2);
3695 QCOMPARE(oldr,r);
3696
3697 }
3698
3699
moveTop()3700 void tst_QRect::moveTop()
3701 {
3702 {
3703 QRect r( 10, 10, 100, 100 );
3704 r.moveTop( 3 );
3705 QCOMPARE( r, QRect(10, 3, 100, 100) );
3706
3707 r = QRect( 10, 3, 100, 100 );
3708 r.moveTop( -22 );
3709 QCOMPARE( r, QRect(10, -22, 100, 100) );
3710 }
3711 {
3712 QRectF r( 10, 10, 100, 100 );
3713 r.moveTop( 3 );
3714 QCOMPARE( r, QRectF(10, 3, 100, 100) );
3715
3716 r = QRectF( 10, 3, 100, 100 );
3717 r.moveTop( -22 );
3718 QCOMPARE( r, QRectF(10, -22, 100, 100) );
3719 }
3720 }
3721
moveBottom()3722 void tst_QRect::moveBottom()
3723 {
3724 {
3725 QRect r( 10, -22, 100, 100 );
3726 r.moveBottom( 104 );
3727 QCOMPARE( r, QRect(10, 5, 100, 100) );
3728 }
3729 {
3730 QRectF r( 10, -22, 100, 100 );
3731 r.moveBottom( 104 );
3732 QCOMPARE( r, QRectF(10, 4, 100, 100) );
3733 }
3734 }
3735
moveLeft()3736 void tst_QRect::moveLeft()
3737 {
3738 {
3739 QRect r( 10, 5, 100, 100 );
3740 r.moveLeft( 11 );
3741 QCOMPARE( r, QRect(11, 5, 100, 100) );
3742 }
3743 {
3744 QRectF r( 10, 5, 100, 100 );
3745 r.moveLeft( 11 );
3746 QCOMPARE( r, QRectF(11, 5, 100, 100) );
3747 }
3748 }
3749
moveRight()3750 void tst_QRect::moveRight()
3751 {
3752 {
3753 QRect r( 11, 5, 100, 100 );
3754 r.moveRight( 106 );
3755 QCOMPARE( r, QRect(7, 5, 100, 100) );
3756 }
3757 {
3758 QRectF r( 11, 5, 100, 100 );
3759 r.moveRight( 106 );
3760 QCOMPARE( r, QRectF(6, 5, 100, 100) );
3761 }
3762 }
3763
moveTopLeft()3764 void tst_QRect::moveTopLeft()
3765 {
3766 {
3767 QRect r( 7, 5, 100, 100 );
3768 r.moveTopLeft( QPoint(1, 2) );
3769 QCOMPARE( r, QRect(1, 2, 100, 100) );
3770 }
3771 {
3772 QRectF r( 7, 5, 100, 100 );
3773 r.moveTopLeft( QPoint(1, 2) );
3774 QCOMPARE( r, QRectF(1, 2, 100, 100) );
3775 }
3776 }
3777
moveTopRight()3778 void tst_QRect::moveTopRight()
3779 {
3780 {
3781 QRect r( 1, 2, 100, 100 );
3782 r.moveTopRight( QPoint(103, 5) );
3783 QCOMPARE( r, QRect(4, 5, 100, 100) );
3784 }
3785 {
3786 QRectF r( 1, 2, 100, 100 );
3787 r.moveTopRight( QPoint(103, 5) );
3788 QCOMPARE( r, QRectF(3, 5, 100, 100) );
3789 }
3790 }
3791
moveBottomLeft()3792 void tst_QRect::moveBottomLeft()
3793 {
3794 {
3795 QRect r( 4, 5, 100, 100 );
3796 r.moveBottomLeft( QPoint(3, 105) );
3797 QCOMPARE( r, QRect(3, 6, 100, 100) );
3798 }
3799 {
3800 QRectF r( 4, 5, 100, 100 );
3801 r.moveBottomLeft( QPoint(3, 105) );
3802 QCOMPARE( r, QRectF(3, 5, 100, 100) );
3803 }
3804 }
3805
moveBottomRight()3806 void tst_QRect::moveBottomRight()
3807 {
3808 {
3809 QRect r( 3, 6, 100, 100 );
3810 r.moveBottomRight( QPoint(103, 105) );
3811 QCOMPARE( r, QRect(4, 6, 100, 100) );
3812 }
3813 {
3814 QRectF r( 3, 6, 100, 100 );
3815 r.moveBottomRight( QPoint(103, 105) );
3816 QCOMPARE( r, QRectF(3, 5, 100, 100) );
3817 }
3818 }
3819
setTopLeft()3820 void tst_QRect::setTopLeft()
3821 {
3822 {
3823 QRect r( 20, 10, 200, 100 );
3824 r.setTopLeft( QPoint(5, 7) );
3825 QCOMPARE( r, QRect(5, 7, 215, 103) );
3826 }
3827 {
3828 QRectF r( 20, 10, 200, 100 );
3829 r.setTopLeft( QPoint(5, 7) );
3830 QCOMPARE( r, QRectF(5, 7, 215, 103) );
3831 }
3832 }
3833
setTopRight()3834 void tst_QRect::setTopRight()
3835 {
3836 {
3837 QRect r( 20, 10, 200, 100 );
3838 r.setTopRight( QPoint(225, 7) );
3839 QCOMPARE( r, QRect(20, 7, 206, 103) );
3840 }
3841 {
3842 QRectF r( 20, 10, 200, 100 );
3843 r.setTopRight( QPoint(225, 7) );
3844 QCOMPARE( r, QRectF(20, 7, 205, 103) );
3845 }
3846 }
3847
setBottomLeft()3848 void tst_QRect::setBottomLeft()
3849 {
3850 {
3851 QRect r( 20, 10, 200, 100 );
3852 r.setBottomLeft( QPoint(5, 117) );
3853 QCOMPARE( r, QRect(5, 10, 215, 108) );
3854 }
3855 {
3856 QRectF r( 20, 10, 200, 100 );
3857 r.setBottomLeft( QPoint(5, 117) );
3858 QCOMPARE( r, QRectF(5, 10, 215, 107) );
3859 }
3860 }
3861
setBottomRight()3862 void tst_QRect::setBottomRight()
3863 {
3864 {
3865 QRect r( 20, 10, 200, 100 );
3866 r.setBottomRight( QPoint(225, 117) );
3867 QCOMPARE( r, QRect(20, 10, 206, 108) );
3868 }
3869 {
3870 QRectF r( 20, 10, 200, 100 );
3871 r.setBottomRight( QPoint(225, 117) );
3872 QCOMPARE( r, QRectF(20, 10, 205, 107) );
3873 }
3874 }
3875
operator_amp()3876 void tst_QRect::operator_amp()
3877 {
3878 QRect r( QPoint(20, 10), QPoint(200, 100) );
3879 QRect r2( QPoint(50, 50), QPoint(300, 300) );
3880 QRect r3 = r & r2;
3881 QCOMPARE( r3, QRect( QPoint(50, 50), QPoint(200, 100) ) );
3882 QVERIFY( !r3.isEmpty() );
3883 QVERIFY( r3.isValid() );
3884
3885 QRect r4( QPoint(300, 300), QPoint(400, 400) );
3886 QRect r5 = r & r4;
3887 QVERIFY( r5.isEmpty() );
3888 QVERIFY( !r5.isValid() );
3889 }
3890
operator_amp_eq()3891 void tst_QRect::operator_amp_eq()
3892 {
3893 QRect r( QPoint(20, 10), QPoint(200, 100) );
3894 QRect r2( QPoint(50, 50), QPoint(300, 300) );
3895 r &= r2;
3896 QCOMPARE( r, QRect( QPoint(50, 50), QPoint(200, 100) ) );
3897 QVERIFY( !r.isEmpty() );
3898 QVERIFY( r.isValid() );
3899
3900 QRect r3( QPoint(300, 300), QPoint(400, 400) );
3901 r &= r3;
3902 QVERIFY( r.isEmpty() );
3903 QVERIFY( !r.isValid() );
3904 }
3905
isValid()3906 void tst_QRect::isValid()
3907 {
3908 QRect r;
3909 QVERIFY( !r.isValid() );
3910 QRect r2( 0, 0, 0, 0 );
3911 QVERIFY( !r2.isValid() );
3912 QRect r3( 100, 200, 300, 400 );
3913 QVERIFY( r3.isValid() );
3914 }
3915
isEmpty()3916 void tst_QRect::isEmpty()
3917 {
3918 QRect r;
3919 QVERIFY( r.isEmpty() );
3920 QRect r2( 0, 0, 0, 0 );
3921 QVERIFY( r2.isEmpty() );
3922 QRect r3( 100, 200, 300, 400 );
3923 QVERIFY( !r3.isEmpty() );
3924 QRect r4( QPoint(300, 100), QPoint(200, 200) );
3925 QVERIFY( r4.isEmpty() );
3926 QRect r5( QPoint(200, 200), QPoint(200, 100) );
3927 QVERIFY( r5.isEmpty() );
3928 QRect r6( QPoint(300, 200), QPoint(200, 100) );
3929 QVERIFY( r6.isEmpty() );
3930 }
3931
3932
testAdjust_data()3933 void tst_QRect::testAdjust_data()
3934 {
3935 QTest::addColumn<QRect>("original");
3936 QTest::addColumn<int>("x1_adjust");
3937 QTest::addColumn<int>("y1_adjust");
3938 QTest::addColumn<int>("x2_adjust");
3939 QTest::addColumn<int>("y2_adjust");
3940 QTest::addColumn<QRect>("expected");
3941
3942 QTest::newRow("test 01") << QRect(13, 12, 11, 10) << 4 << 3 << 2 << 1 << QRect(17, 15, 9, 8);
3943 QTest::newRow("test 02") << QRect(13, 12, 11, 10) << 4 << 3 << 2 << 0 << QRect(17, 15, 9, 7);
3944 QTest::newRow("test 03") << QRect(13, 12, 11, 10) << 4 << 3 << 0 << 1 << QRect(17, 15, 7, 8);
3945 QTest::newRow("test 04") << QRect(13, 12, 11, 10) << 4 << 3 << 0 << 0 << QRect(17, 15, 7, 7);
3946 QTest::newRow("test 05") << QRect(13, 12, 11, 10) << 4 << 0 << 2 << 1 << QRect(17, 12, 9, 11);
3947 QTest::newRow("test 06") << QRect(13, 12, 11, 10) << 4 << 0 << 2 << 0 << QRect(17, 12, 9, 10);
3948 QTest::newRow("test 07") << QRect(13, 12, 11, 10) << 4 << 0 << 0 << 1 << QRect(17, 12, 7, 11);
3949 QTest::newRow("test 08") << QRect(13, 12, 11, 10) << 4 << 0 << 0 << 0 << QRect(17, 12, 7, 10);
3950 QTest::newRow("test 09") << QRect(13, 12, 11, 10) << 0 << 3 << 2 << 1 << QRect(13, 15, 13, 8);
3951 QTest::newRow("test 10") << QRect(13, 12, 11, 10) << 0 << 3 << 2 << 0 << QRect(13, 15, 13, 7);
3952 QTest::newRow("test 11") << QRect(13, 12, 11, 10) << 0 << 3 << 0 << 1 << QRect(13, 15, 11, 8);
3953 QTest::newRow("test 12") << QRect(13, 12, 11, 10) << 0 << 3 << 0 << 0 << QRect(13, 15, 11, 7);
3954 QTest::newRow("test 13") << QRect(13, 12, 11, 10) << 0 << 0 << 2 << 1 << QRect(13, 12, 13, 11);
3955 QTest::newRow("test 14") << QRect(13, 12, 11, 10) << 0 << 0 << 2 << 0 << QRect(13, 12, 13, 10);
3956 QTest::newRow("test 15") << QRect(13, 12, 11, 10) << 0 << 0 << 0 << 1 << QRect(13, 12, 11, 11);
3957 QTest::newRow("test 16") << QRect(13, 12, 11, 10) << 0 << 0 << 0 << 0 << QRect(13, 12, 11, 10);
3958
3959 QTest::newRow("test 17") << QRect(13, 12, 11, 10) << -4 << -3 << -2 << -1 << QRect( 9, 9, 13, 12);
3960 QTest::newRow("test 18") << QRect(13, 12, 11, 10) << -4 << -3 << -2 << 0 << QRect( 9, 9, 13, 13);
3961 QTest::newRow("test 19") << QRect(13, 12, 11, 10) << -4 << -3 << 0 << -1 << QRect( 9, 9, 15, 12);
3962 QTest::newRow("test 20") << QRect(13, 12, 11, 10) << -4 << -3 << 0 << 0 << QRect( 9, 9, 15, 13);
3963 QTest::newRow("test 21") << QRect(13, 12, 11, 10) << -4 << 0 << -2 << -1 << QRect( 9, 12, 13, 9);
3964 QTest::newRow("test 22") << QRect(13, 12, 11, 10) << -4 << 0 << -2 << 0 << QRect( 9, 12, 13, 10);
3965 QTest::newRow("test 23") << QRect(13, 12, 11, 10) << -4 << 0 << 0 << -1 << QRect( 9, 12, 15, 9);
3966 QTest::newRow("test 24") << QRect(13, 12, 11, 10) << -4 << 0 << 0 << 0 << QRect( 9, 12, 15, 10);
3967 QTest::newRow("test 25") << QRect(13, 12, 11, 10) << 0 << -3 << -2 << -1 << QRect(13, 9, 9, 12);
3968 QTest::newRow("test 26") << QRect(13, 12, 11, 10) << 0 << -3 << -2 << 0 << QRect(13, 9, 9, 13);
3969 QTest::newRow("test 27") << QRect(13, 12, 11, 10) << 0 << -3 << 0 << -1 << QRect(13, 9, 11, 12);
3970 QTest::newRow("test 28") << QRect(13, 12, 11, 10) << 0 << -3 << 0 << 0 << QRect(13, 9, 11, 13);
3971 QTest::newRow("test 29") << QRect(13, 12, 11, 10) << 0 << 0 << -2 << -1 << QRect(13, 12, 9, 9);
3972 QTest::newRow("test 30") << QRect(13, 12, 11, 10) << 0 << 0 << -2 << 0 << QRect(13, 12, 9, 10);
3973 QTest::newRow("test 31") << QRect(13, 12, 11, 10) << 0 << 0 << 0 << -1 << QRect(13, 12, 11, 9);
3974 QTest::newRow("test 32") << QRect(13, 12, 11, 10) << 0 << 0 << 0 << 0 << QRect(13, 12, 11, 10);
3975
3976 }
3977
testAdjust()3978 void tst_QRect::testAdjust()
3979 {
3980 QFETCH(QRect, original);
3981 QFETCH(int, x1_adjust);
3982 QFETCH(int, y1_adjust);
3983 QFETCH(int, x2_adjust);
3984 QFETCH(int, y2_adjust);
3985 QFETCH(QRect, expected);
3986
3987 {
3988 QRect r1 = original;
3989 r1.adjust(x1_adjust, y1_adjust, x2_adjust, y2_adjust);
3990 QCOMPARE(r1.x(), expected.x());
3991 QCOMPARE(r1.y(), expected.y());
3992 QCOMPARE(r1.width(), expected.width());
3993 QCOMPARE(r1.height(), expected.height());
3994
3995 QRect r2 = original.adjusted(x1_adjust, y1_adjust, x2_adjust, y2_adjust);
3996 QCOMPARE(r2.x(), expected.x());
3997 QCOMPARE(r2.y(), expected.y());
3998 QCOMPARE(r2.width(), expected.width());
3999 QCOMPARE(r2.height(), expected.height());
4000 }
4001 {
4002 QRectF expectedF(expected);
4003
4004 QRectF r1 = original;
4005 r1.adjust(x1_adjust, y1_adjust, x2_adjust, y2_adjust);
4006 QCOMPARE(r1.x(), expectedF.x());
4007 QCOMPARE(r1.y(), expectedF.y());
4008 QCOMPARE(r1.width(), expectedF.width());
4009 QCOMPARE(r1.height(), expectedF.height());
4010
4011 QRectF r2 = original.adjusted(x1_adjust, y1_adjust, x2_adjust, y2_adjust);
4012 QCOMPARE(r2.x(), expectedF.x());
4013 QCOMPARE(r2.y(), expectedF.y());
4014 QCOMPARE(r2.width(), expectedF.width());
4015 QCOMPARE(r2.height(), expectedF.height());
4016 }
4017 }
4018
intersectedRect_data()4019 void tst_QRect::intersectedRect_data()
4020 {
4021 QTest::addColumn<QRect>("rect1");
4022 QTest::addColumn<QRect>("rect2");
4023 QTest::addColumn<QRect>("intersect");
4024
4025 QTest::newRow("test 01") << QRect(0, 0, 10, 10) << QRect( 2, 2, 6, 6) << QRect(2, 2, 6, 6);
4026 QTest::newRow("test 02") << QRect(0, 0, 10, 10) << QRect( 0, 0, 10, 10) << QRect(0, 0, 10, 10);
4027 QTest::newRow("test 03") << QRect(0, 0, 10, 10) << QRect( 2, 2, 10, 10) << QRect(2, 2, 8, 8);
4028 QTest::newRow("test 04") << QRect(0, 0, 10, 10) << QRect(20, 20, 10, 10) << QRect();
4029
4030 QTest::newRow("test 05") << QRect(9, 9, -8, -8) << QRect( 2, 2, 6, 6) << QRect(2, 2, 6, 6);
4031 QTest::newRow("test 06") << QRect(9, 9, -8, -8) << QRect( 0, 0, 10, 10) << QRect(0, 0, 10, 10);
4032 QTest::newRow("test 07") << QRect(9, 9, -8, -8) << QRect( 2, 2, 10, 10) << QRect(2, 2, 8, 8);
4033 QTest::newRow("test 08") << QRect(9, 9, -8, -8) << QRect(20, 20, 10, 10) << QRect();
4034
4035 QTest::newRow("test 09") << QRect(0, 0, 10, 10) << QRect( 7, 7, -4, -4) << QRect(2, 2, 6, 6);
4036 QTest::newRow("test 10") << QRect(0, 0, 10, 10) << QRect( 9, 9, -8, -8) << QRect(0, 0, 10, 10);
4037 QTest::newRow("test 11") << QRect(0, 0, 10, 10) << QRect(11, 11, -8, -8) << QRect(2, 2, 8, 8);
4038 QTest::newRow("test 12") << QRect(0, 0, 10, 10) << QRect(29, 29, -8, -8) << QRect();
4039
4040 QTest::newRow("test 13") << QRect(0, 0, 10, 10) << QRect() << QRect();
4041 QTest::newRow("test 14") << QRect() << QRect(0, 0, 10, 10) << QRect();
4042 QTest::newRow("test 15") << QRect() << QRect() << QRect();
4043 QTest::newRow("test 16") << QRect(2, 0, 1, 652) << QRect(2, 0, 1, 652) << QRect(2, 0, 1, 652);
4044 }
4045
intersectedRect()4046 void tst_QRect::intersectedRect()
4047 {
4048 QFETCH(QRect, rect1);
4049 QFETCH(QRect, rect2);
4050 QFETCH(QRect, intersect);
4051
4052 if (intersect.isValid())
4053 QCOMPARE(rect1.intersected(rect2), intersect);
4054 else
4055 QVERIFY(rect1.intersected(rect2).isEmpty());
4056
4057 QRect wayOutside(rect1.right() + 100, rect1.bottom() + 100, 10, 10);
4058 QRect empty = rect1 & wayOutside;
4059 QVERIFY(empty.intersected(rect2).isEmpty());
4060 }
4061
intersectedRectF_data()4062 void tst_QRect::intersectedRectF_data()
4063 {
4064 QTest::addColumn<QRectF>("rect1");
4065 QTest::addColumn<QRectF>("rect2");
4066 QTest::addColumn<QRectF>("intersect");
4067
4068 QTest::newRow("test 01") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 6, 6) << QRectF(2, 2, 6, 6);
4069 QTest::newRow("test 02") << QRectF(0, 0, 10, 10) << QRectF( 0, 0, 10, 10) << QRectF(0, 0, 10, 10);
4070 QTest::newRow("test 03") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 10, 10) << QRectF(2, 2, 8, 8);
4071 QTest::newRow("test 04") << QRectF(0, 0, 10, 10) << QRectF(20, 20, 10, 10) << QRectF();
4072
4073 QTest::newRow("test 05") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 6, 6) << QRectF(2, 2, 6, 6);
4074 QTest::newRow("test 06") << QRectF(10, 10, -10, -10) << QRectF( 0, 0, 10, 10) << QRectF(0, 0, 10, 10);
4075 QTest::newRow("test 07") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 10, 10) << QRectF(2, 2, 8, 8);
4076 QTest::newRow("test 08") << QRectF(10, 10, -10, -10) << QRectF(20, 20, 10, 10) << QRectF();
4077
4078 QTest::newRow("test 09") << QRectF(0, 0, 10, 10) << QRectF( 8, 8, -6, -6) << QRectF(2, 2, 6, 6);
4079 QTest::newRow("test 10") << QRectF(0, 0, 10, 10) << QRectF(10, 10, -10, -10) << QRectF(0, 0, 10, 10);
4080 QTest::newRow("test 11") << QRectF(0, 0, 10, 10) << QRectF(12, 12, -10, -10) << QRectF(2, 2, 8, 8);
4081 QTest::newRow("test 12") << QRectF(0, 0, 10, 10) << QRectF(30, 30, -10, -10) << QRectF();
4082
4083 QTest::newRow("test 13") << QRectF(-1, 1, 10, 10) << QRectF() << QRectF();
4084 QTest::newRow("test 14") << QRectF() << QRectF(0, 0, 10, 10) << QRectF();
4085 QTest::newRow("test 15") << QRectF() << QRectF() << QRectF();
4086 }
4087
intersectedRectF()4088 void tst_QRect::intersectedRectF()
4089 {
4090 QFETCH(QRectF, rect1);
4091 QFETCH(QRectF, rect2);
4092 QFETCH(QRectF, intersect);
4093
4094 if (intersect.isValid())
4095 QCOMPARE(rect1.intersected(rect2), intersect);
4096 else
4097 QVERIFY(rect1.intersected(rect2).isEmpty());
4098
4099 QRectF wayOutside(rect1.right() + 100.0, rect1.bottom() + 100.0, 10.0, 10.0);
4100 QRectF empty = rect1 & wayOutside;
4101 QVERIFY(empty.intersected(rect2).isEmpty());
4102 }
4103
unitedRect_data()4104 void tst_QRect::unitedRect_data()
4105 {
4106 QTest::addColumn<QRect>("rect1");
4107 QTest::addColumn<QRect>("rect2");
4108 QTest::addColumn<QRect>("unite");
4109
4110 QTest::newRow("test 01") << QRect(0, 0, 10, 10) << QRect( 2, 2, 6, 6) << QRect(0, 0, 10, 10);
4111 QTest::newRow("test 02") << QRect(0, 0, 10, 10) << QRect( 0, 0, 10, 10) << QRect(0, 0, 10, 10);
4112 QTest::newRow("test 03") << QRect(0, 0, 10, 10) << QRect( 2, 2, 10, 10) << QRect(0, 0, 12, 12);
4113 QTest::newRow("test 04") << QRect(0, 0, 10, 10) << QRect(20, 20, 10, 10) << QRect(0, 0, 30, 30);
4114
4115 QTest::newRow("test 05") << QRect(9, 9, -8, -8) << QRect( 2, 2, 6, 6) << QRect(0, 0, 10, 10);
4116 QTest::newRow("test 06") << QRect(9, 9, -8, -8) << QRect( 0, 0, 10, 10) << QRect(0, 0, 10, 10);
4117 QTest::newRow("test 07") << QRect(9, 9, -8, -8) << QRect( 2, 2, 10, 10) << QRect(0, 0, 12, 12);
4118 QTest::newRow("test 08") << QRect(9, 9, -8, -8) << QRect(20, 20, 10, 10) << QRect(0, 0, 30, 30);
4119
4120 QTest::newRow("test 09") << QRect(0, 0, 10, 10) << QRect( 7, 7, -4, -4) << QRect(0, 0, 10, 10);
4121 QTest::newRow("test 10") << QRect(0, 0, 10, 10) << QRect( 9, 9, -8, -8) << QRect(0, 0, 10, 10);
4122 QTest::newRow("test 11") << QRect(0, 0, 10, 10) << QRect(11, 11, -8, -8) << QRect(0, 0, 12, 12);
4123 QTest::newRow("test 12") << QRect(0, 0, 10, 10) << QRect(29, 29, -8, -8) << QRect(0, 0, 30, 30);
4124
4125 QTest::newRow("test 13") << QRect() << QRect(10, 10, 10, 10) << QRect(10, 10, 10, 10);
4126 QTest::newRow("test 14") << QRect(10, 10, 10, 10) << QRect() << QRect(10, 10, 10, 10);
4127 QTest::newRow("test 15") << QRect() << QRect() << QRect();
4128 QTest::newRow("test 16") << QRect(0, 0, 100, 0) << QRect(0, 0, 0, 100) << QRect(0, 0, 100, 100);
4129 }
4130
unitedRect()4131 void tst_QRect::unitedRect()
4132 {
4133 QFETCH(QRect, rect1);
4134 QFETCH(QRect, rect2);
4135 QFETCH(QRect, unite);
4136
4137 QCOMPARE(rect1.united(rect2), unite);
4138 }
4139
unitedRectF_data()4140 void tst_QRect::unitedRectF_data()
4141 {
4142 QTest::addColumn<QRectF>("rect1");
4143 QTest::addColumn<QRectF>("rect2");
4144 QTest::addColumn<QRectF>("unite");
4145
4146 QTest::newRow("test 01") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 6, 6) << QRectF(0, 0, 10, 10);
4147 QTest::newRow("test 02") << QRectF(0, 0, 10, 10) << QRectF( 0, 0, 10, 10) << QRectF(0, 0, 10, 10);
4148 QTest::newRow("test 03") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 10, 10) << QRectF(0, 0, 12, 12);
4149 QTest::newRow("test 04") << QRectF(0, 0, 10, 10) << QRectF(20, 20, 10, 10) << QRectF(0, 0, 30, 30);
4150
4151 QTest::newRow("test 05") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 6, 6) << QRectF(0, 0, 10, 10);
4152 QTest::newRow("test 06") << QRectF(10, 10, -10, -10) << QRectF( 0, 0, 10, 10) << QRectF(0, 0, 10, 10);
4153 QTest::newRow("test 07") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 10, 10) << QRectF(0, 0, 12, 12);
4154 QTest::newRow("test 08") << QRectF(10, 10, -10, -10) << QRectF(20, 20, 10, 10) << QRectF(0, 0, 30, 30);
4155
4156 QTest::newRow("test 09") << QRectF(0, 0, 10, 10) << QRectF( 8, 8, -6, -6) << QRectF(0, 0, 10, 10);
4157 QTest::newRow("test 10") << QRectF(0, 0, 10, 10) << QRectF(10, 10, -10, -10) << QRectF(0, 0, 10, 10);
4158 QTest::newRow("test 11") << QRectF(0, 0, 10, 10) << QRectF(12, 12, -10, -10) << QRectF(0, 0, 12, 12);
4159 QTest::newRow("test 12") << QRectF(0, 0, 10, 10) << QRectF(30, 30, -10, -10) << QRectF(0, 0, 30, 30);
4160
4161 QTest::newRow("test 13") << QRectF() << QRectF(10, 10, 10, 10) << QRectF(10, 10, 10, 10);
4162 QTest::newRow("test 14") << QRectF(10, 10, 10, 10) << QRectF() << QRectF(10, 10, 10, 10);
4163 QTest::newRow("test 15") << QRectF() << QRectF() << QRectF();
4164 QTest::newRow("test 16") << QRectF(0, 0, 100, 0) << QRectF(0, 0, 0, 100) << QRectF(0, 0, 100, 100);
4165 }
4166
unitedRectF()4167 void tst_QRect::unitedRectF()
4168 {
4169 QFETCH(QRectF, rect1);
4170 QFETCH(QRectF, rect2);
4171 QFETCH(QRectF, unite);
4172
4173 QCOMPARE(rect1.united(rect2), unite);
4174 }
4175
intersectsRect_data()4176 void tst_QRect::intersectsRect_data()
4177 {
4178 QTest::addColumn<QRect>("rect1");
4179 QTest::addColumn<QRect>("rect2");
4180 QTest::addColumn<bool>("intersects");
4181
4182 QTest::newRow("test 01") << QRect(0, 0, 10, 10) << QRect( 2, 2, 6, 6) << true;
4183 QTest::newRow("test 02") << QRect(0, 0, 10, 10) << QRect( 0, 0, 10, 10) << true;
4184 QTest::newRow("test 03") << QRect(0, 0, 10, 10) << QRect( 2, 2, 10, 10) << true;
4185 QTest::newRow("test 04") << QRect(0, 0, 10, 10) << QRect(20, 20, 10, 10) << false;
4186
4187 QTest::newRow("test 05") << QRect(9, 9, -8, -8) << QRect( 2, 2, 6, 6) << true;
4188 QTest::newRow("test 06") << QRect(9, 9, -8, -8) << QRect( 0, 0, 10, 10) << true;
4189 QTest::newRow("test 07") << QRect(9, 9, -8, -8) << QRect( 2, 2, 10, 10) << true;
4190 QTest::newRow("test 08") << QRect(9, 9, -8, -8) << QRect(20, 20, 10, 10) << false;
4191
4192 QTest::newRow("test 09") << QRect(0, 0, 10, 10) << QRect( 7, 7, -4, -4) << true;
4193 QTest::newRow("test 10") << QRect(0, 0, 10, 10) << QRect( 9, 9, -8, -8) << true;
4194 QTest::newRow("test 11") << QRect(0, 0, 10, 10) << QRect(11, 11, -8, -8) << true;
4195 QTest::newRow("test 12") << QRect(0, 0, 10, 10) << QRect(29, 29, -8, -8) << false;
4196
4197 QTest::newRow("test 13") << QRect() << QRect(10, 10, 10, 10) << false;
4198 QTest::newRow("test 14") << QRect(10, 10, 10, 10) << QRect() << false;
4199 QTest::newRow("test 15") << QRect() << QRect() << false;
4200 QTest::newRow("test 16") << QRect(10, 10, 10, 10) << QRect(19, 15, 1, 5) << true;
4201
4202 QTest::newRow("test 17") << QRect(10, 10, 10, 10) << QRect(15, 19, 5, 1) << true;
4203 QTest::newRow("test 18") << QRect(2, 0, 1, 652) << QRect(2, 0, 1, 652) << true;
4204 }
4205
intersectsRect()4206 void tst_QRect::intersectsRect()
4207 {
4208 QFETCH(QRect, rect1);
4209 QFETCH(QRect, rect2);
4210 QFETCH(bool, intersects);
4211
4212 QVERIFY(rect1.intersects(rect2) == intersects);
4213 }
4214
intersectsRectF_data()4215 void tst_QRect::intersectsRectF_data()
4216 {
4217 QTest::addColumn<QRectF>("rect1");
4218 QTest::addColumn<QRectF>("rect2");
4219 QTest::addColumn<bool>("intersects");
4220
4221 QTest::newRow("test 01") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 6, 6) << true;
4222 QTest::newRow("test 02") << QRectF(0, 0, 10, 10) << QRectF( 0, 0, 10, 10) << true;
4223 QTest::newRow("test 03") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 10, 10) << true;
4224 QTest::newRow("test 04") << QRectF(0, 0, 10, 10) << QRectF(20, 20, 10, 10) << false;
4225
4226 QTest::newRow("test 05") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 6, 6) << true;
4227 QTest::newRow("test 06") << QRectF(10, 10, -10, -10) << QRectF( 0, 0, 10, 10) << true;
4228 QTest::newRow("test 07") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 10, 10) << true;
4229 QTest::newRow("test 08") << QRectF(10, 10, -10, -10) << QRectF(20, 20, 10, 10) << false;
4230
4231 QTest::newRow("test 09") << QRectF(0, 0, 10, 10) << QRectF( 8, 8, -6, -6) << true;
4232 QTest::newRow("test 10") << QRectF(0, 0, 10, 10) << QRectF(10, 10, -10, -10) << true;
4233 QTest::newRow("test 11") << QRectF(0, 0, 10, 10) << QRectF(12, 12, -10, -10) << true;
4234 QTest::newRow("test 12") << QRectF(0, 0, 10, 10) << QRectF(30, 30, -10, -10) << false;
4235
4236 QTest::newRow("test 13") << QRectF() << QRectF(10, 10, 10, 10) << false;
4237 QTest::newRow("test 14") << QRectF(10, 10, 10, 10) << QRectF() << false;
4238 QTest::newRow("test 15") << QRectF() << QRectF() << false;
4239
4240 QTest::newRow("test 16") << QRectF(0, 0, 10, 10) << QRectF(10, 10, 10, 10) << false;
4241 QTest::newRow("test 17") << QRectF(0, 0, 10, 10) << QRectF(0, 10, 10, 10) << false;
4242 QTest::newRow("test 18") << QRectF(0, 0, 10, 10) << QRectF(10, 0, 10, 10) << false;
4243 }
4244
intersectsRectF()4245 void tst_QRect::intersectsRectF()
4246 {
4247 QFETCH(QRectF, rect1);
4248 QFETCH(QRectF, rect2);
4249 QFETCH(bool, intersects);
4250
4251 QVERIFY(rect1.intersects(rect2) == intersects);
4252 }
4253
containsRect_data()4254 void tst_QRect::containsRect_data()
4255 {
4256 QTest::addColumn<QRect>("rect1");
4257 QTest::addColumn<QRect>("rect2");
4258 QTest::addColumn<bool>("contains");
4259
4260 QTest::newRow("test 01") << QRect(0, 0, 10, 10) << QRect( 2, 2, 6, 6) << true;
4261 QTest::newRow("test 02") << QRect(0, 0, 10, 10) << QRect( 0, 0, 10, 10) << true;
4262 QTest::newRow("test 03") << QRect(0, 0, 10, 10) << QRect( 2, 2, 10, 10) << false;
4263 QTest::newRow("test 04") << QRect(0, 0, 10, 10) << QRect(20, 20, 10, 10) << false;
4264
4265 QTest::newRow("test 05") << QRect(9, 9, -8, -8) << QRect( 2, 2, 6, 6) << true;
4266 QTest::newRow("test 06") << QRect(9, 9, -8, -8) << QRect( 0, 0, 10, 10) << true;
4267 QTest::newRow("test 07") << QRect(9, 9, -8, -8) << QRect( 2, 2, 10, 10) << false;
4268 QTest::newRow("test 08") << QRect(9, 9, -8, -8) << QRect(20, 20, 10, 10) << false;
4269
4270 QTest::newRow("test 09") << QRect(0, 0, 10, 10) << QRect( 7, 7, -4, -4) << true;
4271 QTest::newRow("test 10") << QRect(0, 0, 10, 10) << QRect( 9, 9, -8, -8) << true;
4272 QTest::newRow("test 11") << QRect(0, 0, 10, 10) << QRect(11, 11, -8, -8) << false;
4273 QTest::newRow("test 12") << QRect(0, 0, 10, 10) << QRect(29, 29, -8, -8) << false;
4274
4275 QTest::newRow("test 13") << QRect(-1, 1, 10, 10) << QRect() << false;
4276 QTest::newRow("test 14") << QRect() << QRect(0, 0, 10, 10) << false;
4277 QTest::newRow("test 15") << QRect() << QRect() << false;
4278 }
4279
containsRect()4280 void tst_QRect::containsRect()
4281 {
4282 QFETCH(QRect, rect1);
4283 QFETCH(QRect, rect2);
4284 QFETCH(bool, contains);
4285
4286 QVERIFY(rect1.contains(rect2) == contains);
4287 }
4288
containsRectF_data()4289 void tst_QRect::containsRectF_data()
4290 {
4291 QTest::addColumn<QRectF>("rect1");
4292 QTest::addColumn<QRectF>("rect2");
4293 QTest::addColumn<bool>("contains");
4294
4295 QTest::newRow("test 01") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 6, 6) << true;
4296 QTest::newRow("test 02") << QRectF(0, 0, 10, 10) << QRectF( 0, 0, 10, 10) << true;
4297 QTest::newRow("test 03") << QRectF(0, 0, 10, 10) << QRectF( 2, 2, 10, 10) << false;
4298 QTest::newRow("test 04") << QRectF(0, 0, 10, 10) << QRectF(20, 20, 10, 10) << false;
4299
4300 QTest::newRow("test 05") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 6, 6) << true;
4301 QTest::newRow("test 06") << QRectF(10, 10, -10, -10) << QRectF( 0, 0, 10, 10) << true;
4302 QTest::newRow("test 07") << QRectF(10, 10, -10, -10) << QRectF( 2, 2, 10, 10) << false;
4303 QTest::newRow("test 08") << QRectF(10, 10, -10, -10) << QRectF(20, 20, 10, 10) << false;
4304
4305 QTest::newRow("test 09") << QRectF(0, 0, 10, 10) << QRectF( 8, 8, -6, -6) << true;
4306 QTest::newRow("test 10") << QRectF(0, 0, 10, 10) << QRectF(10, 10, -10, -10) << true;
4307 QTest::newRow("test 11") << QRectF(0, 0, 10, 10) << QRectF(12, 12, -10, -10) << false;
4308 QTest::newRow("test 12") << QRectF(0, 0, 10, 10) << QRectF(30, 30, -10, -10) << false;
4309
4310 QTest::newRow("test 13") << QRectF(-1, 1, 10, 10) << QRectF() << false;
4311 QTest::newRow("test 14") << QRectF() << QRectF(0, 0, 10, 10) << false;
4312 QTest::newRow("test 15") << QRectF() << QRectF() << false;
4313 }
4314
containsRectF()4315 void tst_QRect::containsRectF()
4316 {
4317 QFETCH(QRectF, rect1);
4318 QFETCH(QRectF, rect2);
4319 QFETCH(bool, contains);
4320
4321 QVERIFY(rect1.contains(rect2) == contains);
4322 }
4323
containsPoint_data()4324 void tst_QRect::containsPoint_data()
4325 {
4326 QTest::addColumn<QRect>("rect");
4327 QTest::addColumn<QPoint>("point");
4328 QTest::addColumn<bool>("contains");
4329 QTest::addColumn<bool>("containsProper");
4330
4331 QTest::newRow("test 01") << QRect(0, 0, 10, 10) << QPoint( 0, 0) << true << false;
4332 QTest::newRow("test 02") << QRect(0, 0, 10, 10) << QPoint( 0, 10) << false << false;
4333 QTest::newRow("test 03") << QRect(0, 0, 10, 10) << QPoint(10, 0) << false << false;
4334 QTest::newRow("test 04") << QRect(0, 0, 10, 10) << QPoint(10, 10) << false << false;
4335 QTest::newRow("test 05") << QRect(0, 0, 10, 10) << QPoint( 0, 9) << true << false;
4336 QTest::newRow("test 06") << QRect(0, 0, 10, 10) << QPoint( 9, 0) << true << false;
4337 QTest::newRow("test 07") << QRect(0, 0, 10, 10) << QPoint( 9, 9) << true << false;
4338 QTest::newRow("test 08") << QRect(0, 0, 10, 10) << QPoint( 1, 0) << true << false;
4339 QTest::newRow("test 09") << QRect(0, 0, 10, 10) << QPoint( 9, 1) << true << false;
4340 QTest::newRow("test 10") << QRect(0, 0, 10, 10) << QPoint( 1, 1) << true << true;
4341 QTest::newRow("test 11") << QRect(0, 0, 10, 10) << QPoint( 1, 8) << true << true;
4342 QTest::newRow("test 12") << QRect(0, 0, 10, 10) << QPoint( 8, 8) << true << true;
4343
4344 QTest::newRow("test 13") << QRect(9, 9, -8, -8) << QPoint( 0, 0) << true << false;
4345 QTest::newRow("test 14") << QRect(9, 9, -8, -8) << QPoint( 0, 10) << false << false;
4346 QTest::newRow("test 15") << QRect(9, 9, -8, -8) << QPoint(10, 0) << false << false;
4347 QTest::newRow("test 16") << QRect(9, 9, -8, -8) << QPoint(10, 10) << false << false;
4348 QTest::newRow("test 17") << QRect(9, 9, -8, -8) << QPoint( 0, 9) << true << false;
4349 QTest::newRow("test 18") << QRect(9, 9, -8, -8) << QPoint( 9, 0) << true << false;
4350 QTest::newRow("test 19") << QRect(9, 9, -8, -8) << QPoint( 9, 9) << true << false;
4351 QTest::newRow("test 20") << QRect(9, 9, -8, -8) << QPoint( 1, 0) << true << false;
4352 QTest::newRow("test 21") << QRect(9, 9, -8, -8) << QPoint( 9, 1) << true << false;
4353 QTest::newRow("test 22") << QRect(9, 9, -8, -8) << QPoint( 1, 1) << true << true;
4354 QTest::newRow("test 23") << QRect(9, 9, -8, -8) << QPoint( 1, 8) << true << true;
4355 QTest::newRow("test 24") << QRect(9, 9, -8, -8) << QPoint( 8, 8) << true << true;
4356
4357 QTest::newRow("test 25") << QRect(-1, 1, 10, 10) << QPoint() << false << false;
4358 QTest::newRow("test 26") << QRect() << QPoint(1, 1) << false << false;
4359 QTest::newRow("test 27") << QRect() << QPoint() << false << false;
4360 }
4361
containsPoint()4362 void tst_QRect::containsPoint()
4363 {
4364 QFETCH(QRect, rect);
4365 QFETCH(QPoint, point);
4366 QFETCH(bool, contains);
4367 QFETCH(bool, containsProper);
4368
4369 QVERIFY(rect.contains(point) == contains);
4370 QVERIFY(rect.contains(point, true) == containsProper);
4371 }
4372
containsPointF_data()4373 void tst_QRect::containsPointF_data()
4374 {
4375 QTest::addColumn<QRectF>("rect");
4376 QTest::addColumn<QPointF>("point");
4377 QTest::addColumn<bool>("contains");
4378
4379 QTest::newRow("test 27") << QRectF() << QPointF() << false;
4380
4381 QTest::newRow("test 01") << QRectF(0, 0, 10, 10) << QPointF( 0, 0) << true;
4382 QTest::newRow("test 02") << QRectF(0, 0, 10, 10) << QPointF( 0, 10) << true;
4383 QTest::newRow("test 03") << QRectF(0, 0, 10, 10) << QPointF(10, 0) << true;
4384 QTest::newRow("test 04") << QRectF(0, 0, 10, 10) << QPointF(10, 10) << true;
4385 QTest::newRow("test 05") << QRectF(0, 0, 10, 10) << QPointF( 0, 9) << true;
4386 QTest::newRow("test 06") << QRectF(0, 0, 10, 10) << QPointF( 9, 0) << true;
4387 QTest::newRow("test 07") << QRectF(0, 0, 10, 10) << QPointF( 9, 9) << true;
4388 QTest::newRow("test 08") << QRectF(0, 0, 10, 10) << QPointF( 1, 0) << true;
4389 QTest::newRow("test 09") << QRectF(0, 0, 10, 10) << QPointF( 9, 1) << true;
4390 QTest::newRow("test 10") << QRectF(0, 0, 10, 10) << QPointF( 1, 1) << true;
4391 QTest::newRow("test 11") << QRectF(0, 0, 10, 10) << QPointF( 1, 8) << true;
4392 QTest::newRow("test 12") << QRectF(0, 0, 10, 10) << QPointF( 8, 8) << true;
4393
4394 QTest::newRow("test 13") << QRectF(10, 10, -10, -10) << QPointF( 0, 0) << true;
4395 QTest::newRow("test 14") << QRectF(10, 10, -10, -10) << QPointF( 0, 10) << true;
4396 QTest::newRow("test 15") << QRectF(10, 10, -10, -10) << QPointF(10, 0) << true;
4397 QTest::newRow("test 16") << QRectF(10, 10, -10, -10) << QPointF(10, 10) << true;
4398 QTest::newRow("test 17") << QRectF(10, 10, -10, -10) << QPointF( 0, 9) << true;
4399 QTest::newRow("test 18") << QRectF(10, 10, -10, -10) << QPointF( 9, 0) << true;
4400 QTest::newRow("test 19") << QRectF(10, 10, -10, -10) << QPointF( 9, 9) << true;
4401 QTest::newRow("test 20") << QRectF(10, 10, -10, -10) << QPointF( 1, 0) << true;
4402 QTest::newRow("test 21") << QRectF(10, 10, -10, -10) << QPointF( 9, 1) << true;
4403 QTest::newRow("test 22") << QRectF(10, 10, -10, -10) << QPointF( 1, 1) << true;
4404 QTest::newRow("test 23") << QRectF(10, 10, -10, -10) << QPointF( 1, 8) << true;
4405 QTest::newRow("test 24") << QRectF(10, 10, -10, -10) << QPointF( 8, 8) << true;
4406
4407 QTest::newRow("test 25") << QRectF(-1, 1, 10, 10) << QPointF() << false;
4408 QTest::newRow("test 26") << QRectF() << QPointF(1, 1) << false;
4409 QTest::newRow("test 27") << QRectF() << QPointF() << false;
4410 }
4411
containsPointF()4412 void tst_QRect::containsPointF()
4413 {
4414 QFETCH(QRectF, rect);
4415 QFETCH(QPointF, point);
4416 QFETCH(bool, contains);
4417
4418 QVERIFY(rect.contains(point) == contains);
4419 }
4420
smallRects() const4421 void tst_QRect::smallRects() const
4422 {
4423 const QRectF r1( 0, 0, 1e-12, 1e-12 );
4424 const QRectF r2( 0, 0, 1e-14, 1e-14 );
4425
4426 // r2 is 10000 times bigger than r1
4427 QVERIFY(!(r1 == r2));
4428 QVERIFY(r1 != r2);
4429 }
4430
4431 QTEST_MAIN(tst_QRect)
4432 #include "tst_qrect.moc"
4433