Finished re-factoring the unit tests
authorSami Rämö <sami.ramo@ixonos.com>
Mon, 19 Jul 2010 08:05:46 +0000 (11:05 +0300)
committerSami Rämö <sami.ramo@ixonos.com>
Mon, 19 Jul 2010 08:05:46 +0000 (11:05 +0300)
tests/map/mapengine/testmapengine.cpp
tests/ui/friendlist/friendlist.pro
tests/ui/friendlist/testfriendlist.cpp

index 8d840d3..deb0152 100644 (file)
 #include "map/mapcommon.h"
 #include "map/mapengine.h"
 
-const int DEFAULT_TEST_ZOOMLEVEL = 5;
+const int ZOOM_LEVEL = 14;
 const SceneCoordinate DEFAULT_TEST_SCENECOORDINATE = SceneCoordinate(12345, 54321);
 const SceneCoordinate NEW_TEST_SCENECOORDINATE = SceneCoordinate(50000, 40000);
+const int MAP_FETCH_DELAY = 1000;
 
 class TestMapEngine: public QObject
 {
@@ -82,20 +83,23 @@ void TestMapEngine::setLocationNewTilesCount()
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
 
+    // set initial state for map engine
+    engine.setZoomLevel(ZOOM_LEVEL);
+    emit setCenterPosition(SceneCoordinate(0, 0));
+    QTest::qWait(MAP_FETCH_DELAY);
+
     QSignalSpy fetchImageSpy(&engine, SIGNAL(fetchImage(int,int,int)));
-    QTest::qWait(1000);
-    fetchImageSpy.clear();
 
-    // first test, scene is empty so all tiles should be downloaded
+    // first test, target location in the scene is empty so all tiles should be downloaded
     emit setCenterPosition(SceneCoordinate(1220*16, 1220*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     QCOMPARE(fetchImageSpy.count(), 5*4);
     fetchImageSpy.clear();
 
     // move one tile to east and south, only most right one column and most bottom one row tiles
     // should be downloaded
     emit setCenterPosition(SceneCoordinate((1220+OSM_TILE_SIZE_X)*16, (1220+OSM_TILE_SIZE_Y)*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     QCOMPARE(fetchImageSpy.count(), 4 + 4);
     fetchImageSpy.clear();
 }
@@ -107,19 +111,20 @@ void TestMapEngine::setLocationRemovedTilesCount()
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
 
+    engine.setZoomLevel(OSM_MAX_ZOOM_LEVEL);
+
     const int maxItemsCount = 40;
 
     emit setCenterPosition(SceneCoordinate(1220*16, 1220*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     emit setCenterPosition(SceneCoordinate(2220*16, 2220*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 
     emit setCenterPosition(SceneCoordinate(520*16, 2220*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     emit setCenterPosition(SceneCoordinate(2220*16, 520*16));
-    QTest::qWait(1000);
-
+    QTest::qWait(MAP_FETCH_DELAY);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 }
 
@@ -130,18 +135,19 @@ void TestMapEngine::zoomInRemovedTilesCount()
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
 
+    engine.setZoomLevel(OSM_MAX_ZOOM_LEVEL);
+
     const int maxItemsCount = 40;
 
     emit setCenterPosition(SceneCoordinate(1220*16, 1220*16));
-    QTest::qWait(1000);
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
+    QTest::qWait(MAP_FETCH_DELAY);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 
     emit setCenterPosition(SceneCoordinate(520*16, 2220*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     emit setCenterPosition(SceneCoordinate(2220*16, 520*16));
-    QTest::qWait(1000);
-
+    QTest::qWait(MAP_FETCH_DELAY);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 }
 
@@ -152,19 +158,20 @@ void TestMapEngine::zoomOutRemovedTilesCount()
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
 
+    engine.setZoomLevel(OSM_MAX_ZOOM_LEVEL);
+
     const int maxItemsCount = 40;
 
     emit setCenterPosition(SceneCoordinate(1220*16, 1220.23*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     emit setCenterPosition(SceneCoordinate(2220*16, 2220.23*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 
     emit setCenterPosition(SceneCoordinate(520*16, 2220*16));
-    QTest::qWait(1000);
+    QTest::qWait(MAP_FETCH_DELAY);
     emit setCenterPosition(SceneCoordinate(2220*16, 520*16));
-    QTest::qWait(1000);
-
+    QTest::qWait(MAP_FETCH_DELAY);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 }
 
@@ -180,7 +187,7 @@ void TestMapEngine::usingLastLocation()
 
     // Write new zoomlevel and location to settings
     QSettings settings(DIRECTORY_NAME, FILE_NAME);
-    settings.setValue(MAP_LAST_ZOOMLEVEL, DEFAULT_TEST_ZOOMLEVEL);
+    settings.setValue(MAP_LAST_ZOOMLEVEL, ZOOM_LEVEL);
     settings.setValue(MAP_LAST_POSITION,
                       QVariant::fromValue(GeoCoordinate(DEFAULT_TEST_SCENECOORDINATE)));
 
@@ -189,7 +196,7 @@ void TestMapEngine::usingLastLocation()
     QCOMPARE (mapEngineSpy.count(), 1);
 
     // Remove zoomlevel and location from settings, call init() again and check that
-    // signals is send again
+    // signals are sent again
     settings.remove(MAP_LAST_ZOOMLEVEL);
     settings.remove(MAP_LAST_POSITION);
     mapengine->init();
@@ -197,10 +204,7 @@ void TestMapEngine::usingLastLocation()
 
     // Check parameters of sended signals
     QList<QVariant> parameters = mapEngineSpy.takeFirst();
-    QVERIFY(parameters.at(0).toInt() == DEFAULT_TEST_ZOOMLEVEL);
-
-    parameters = mapEngineSpy.takeFirst();
-    QVERIFY(parameters.at(0).toInt() == MAP_DEFAULT_ZOOM_LEVEL);
+    QVERIFY(parameters.at(0).toInt() == ZOOM_LEVEL);
 
     // Call set location with know parameter to get location changed
     // Store new location and zoomlevel to settings
index e34542c..f60df28 100644 (file)
@@ -1,17 +1,21 @@
-QT       += testlib
 CONFIG += qtestlib
 DEFINES += QT_NO_DEBUG_OUTPUT
-INCLUDEPATH += . \
-               ../../../src/
+
 HEADERS += ../../../src/ui/friendlistview.h \
     ../../../src/ui/friendlistitem.h \
     ../../../src/user/user.h \
     ../../../src/ui/avatarimage.h \
-    ../../../src/ui/imagebutton.h
+    ../../../src/ui/imagebutton.h \
+    ../../../src/coordinates/scenecoordinate.h \
+    ../../../src/coordinates/geocoordinate.h
 SOURCES += ../../../src/ui/friendlistview.cpp \
     ../../../src/ui/friendlistitem.cpp \
     ../../../src/user/user.cpp \
     ../../../src/ui/avatarimage.cpp \
     ../../../src/ui/imagebutton.cpp \
-    testfriendlist.cpp
+    testfriendlist.cpp \
+    ../../../src/coordinates/scenecoordinate.cpp \
+    ../../../src/coordinates/geocoordinate.cpp
 RESOURCES += ../../../images.qrc
+INCLUDEPATH += . \
+               ../../../src/
index 4d6f867..76e8ce0 100644 (file)
 #include <QtTest>
 #include <QtGui>
 
-#include "src/coordinates/geocoordinate.h"
-#include "src/ui/friendlistitem.h"
-#include "src/ui/friendlistview.h"
-#include "src/user/user.h"
-#include "src/ui/avatarimage.h"
+#include "coordinates/geocoordinate.h"
+#include "ui/friendlistitem.h"
+#include "ui/friendlistview.h"
+#include "user/user.h"
+#include "ui/avatarimage.h"
 
 
 class TestFriendList: public QObject
@@ -69,7 +69,7 @@ void TestFriendList::friendListViewAddWidget()
 
     QCOMPARE(view->layout()->count(), 2);
 
-    User *user3 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+    User *user3 = new User(QString("Address"), GeoCoordinate(12.22, 23.33), QString("Name"),
                            QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
                            QString("UserID3"), QString("Units"), 44.12);
     user3->setProfileImage(QPixmap("situare_user.gif"));
@@ -89,11 +89,12 @@ void TestFriendList::friendListViewClearUnused()
 {
     FriendListView *view = new FriendListView();
 
-    User *user1 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+    User *user1 = new User(QString("Address"), GeoCoordinate(12.22, 23.33), QString("Name"),
                            QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
                            QString("UserID1"), QString("Units"), 44.12);
     user1->setProfileImage(QPixmap("situare_user.gif"));
-    User *user2 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+
+    User *user2 = new User(QString("Address"), GeoCoordinate(12.22, 23.33), QString("Name"),
                            QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
                            QString("UserID2"), QString("Units"), 44.12);
     user2->setProfileImage(QPixmap("situare_user.gif"));