Review, re-factored GPSLocationItem unit test
authorSami Rämö <sami.ramo@ixonos.com>
Mon, 2 Aug 2010 09:55:09 +0000 (12:55 +0300)
committerSami Rämö <sami.ramo@ixonos.com>
Mon, 2 Aug 2010 09:55:09 +0000 (12:55 +0300)
 - Reviewed by Jussi Laitinen

src/map/gpslocationitem.cpp
tests/map/gpslocationitem/testgpslocationitem.cpp

index 28cc716..1369dfe 100644 (file)
@@ -65,8 +65,8 @@ void GPSLocationItem::paint(QPainter *painter,
 
     QColor color = QColor(Qt::red);
 
-    const int RING_OUTLINE_ALPHA = 96;
-    const int RING_FILL_ALPHA = 48;
+    const int RING_OUTLINE_ALPHA = 64;
+    const int RING_FILL_ALPHA = 32;
 
     // set outline ring
     color.setAlpha(RING_OUTLINE_ALPHA);
index d2d5c04..c4f1cc1 100644 (file)
@@ -29,6 +29,9 @@ class TestGPSLocationItem: public QObject
 {
     Q_OBJECT
 
+private:
+    QRectF boundingRect(qreal accuracy, qreal sceneResolution);
+
 private slots:
     void constructor();
     void childPixmap();
@@ -37,6 +40,18 @@ private slots:
     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;
@@ -126,8 +141,6 @@ void TestGPSLocationItem::updateItem()
 
 void TestGPSLocationItem::updateItem_data()
 {
-    const qreal PEN_WIDTH = 1;
-
     const QPointF POSITION1 = QPointF(1000, 1000);
     const QPointF POSITION2 = QPointF(2000, 4000);
 
@@ -143,50 +156,29 @@ void TestGPSLocationItem::updateItem_data()
     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)