#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
{
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();
}
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);
}
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);
}
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);
}
// 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)));
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();
// 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
#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
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"));
{
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"));