{
Q_OBJECT
+private:
+ QRectF boundingRect(qreal accuracy, qreal sceneResolution);
+
private slots:
void constructor();
void childPixmap();
void updateItem_data();
};
+QRectF TestGPSLocationItem::boundingRect(qreal accuracy, qreal sceneResolution)
+{
+ const qreal PEN_WIDTH = 1;
+
+ qreal radius = accuracy / sceneResolution;
+
+ return QRectF(-radius - PEN_WIDTH / 2,
+ -radius - PEN_WIDTH / 2,
+ 2 * radius + PEN_WIDTH,
+ 2 * radius + PEN_WIDTH);
+}
+
void TestGPSLocationItem::constructor()
{
GPSLocationItem item;
void TestGPSLocationItem::updateItem_data()
{
- const qreal PEN_WIDTH = 1;
-
const QPointF POSITION1 = QPointF(1000, 1000);
const QPointF POSITION2 = QPointF(2000, 4000);
QTest::addColumn<QPointF>("expectedPosition");
QTest::addColumn<QRectF>("expectedRect");
- qreal radius = ACCURACY_100M / SCENE_RESOLUTION1;
-
- QRectF rect = QRectF(-radius - PEN_WIDTH / 2,
- -radius - PEN_WIDTH / 2,
- 2 * radius + PEN_WIDTH,
- 2 * radius + PEN_WIDTH);
-
QTest::newRow("1st test") << POSITION1
<< ACCURACY_100M
<< SCENE_RESOLUTION1
<< POSITION1
- << rect;
+ << boundingRect(ACCURACY_100M, SCENE_RESOLUTION1);
QTest::newRow("change only position") << POSITION2
<< ACCURACY_100M
<< SCENE_RESOLUTION1
<< POSITION2
- << rect;
-
- radius = ACCURACY_15M / SCENE_RESOLUTION1;
-
- rect = QRectF(-radius - PEN_WIDTH / 2,
- -radius - PEN_WIDTH / 2,
- 2 * radius + PEN_WIDTH,
- 2 * radius + PEN_WIDTH);
+ << boundingRect(ACCURACY_100M, SCENE_RESOLUTION1);
QTest::newRow("change only accuracy") << POSITION1
<< ACCURACY_15M
<< SCENE_RESOLUTION1
<< POSITION1
- << rect;
-
- radius = ACCURACY_100M / SCENE_RESOLUTION2;
-
- rect = QRectF(-radius - PEN_WIDTH / 2,
- -radius - PEN_WIDTH / 2,
- 2 * radius + PEN_WIDTH,
- 2 * radius + PEN_WIDTH);
+ << boundingRect(ACCURACY_15M, SCENE_RESOLUTION1);
QTest::newRow("change only scene resolution") << POSITION1
<< ACCURACY_100M
<< SCENE_RESOLUTION2
<< POSITION1
- << rect;
+ << boundingRect(ACCURACY_100M, SCENE_RESOLUTION2);
}
QTEST_MAIN(TestGPSLocationItem)