From cdfeab0486ec78c559fe0fe5379b8566b2d39825 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sami=20R=C3=A4m=C3=B6?= Date: Mon, 19 Jul 2010 11:05:46 +0300 Subject: [PATCH] Finished re-factoring the unit tests --- tests/map/mapengine/testmapengine.cpp | 58 +++++++++++++++++--------------- tests/ui/friendlist/friendlist.pro | 14 +++++--- tests/ui/friendlist/testfriendlist.cpp | 17 +++++----- 3 files changed, 49 insertions(+), 40 deletions(-) diff --git a/tests/map/mapengine/testmapengine.cpp b/tests/map/mapengine/testmapengine.cpp index 8d840d3..deb0152 100644 --- a/tests/map/mapengine/testmapengine.cpp +++ b/tests/map/mapengine/testmapengine.cpp @@ -27,9 +27,10 @@ #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 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 diff --git a/tests/ui/friendlist/friendlist.pro b/tests/ui/friendlist/friendlist.pro index e34542c..f60df28 100644 --- a/tests/ui/friendlist/friendlist.pro +++ b/tests/ui/friendlist/friendlist.pro @@ -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/ diff --git a/tests/ui/friendlist/testfriendlist.cpp b/tests/ui/friendlist/testfriendlist.cpp index 4d6f867..76e8ce0 100644 --- a/tests/ui/friendlist/testfriendlist.cpp +++ b/tests/ui/friendlist/testfriendlist.cpp @@ -22,11 +22,11 @@ #include #include -#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")); -- 1.7.9.5