Merge branch 'master' of https://vcs.maemo.org/git/situare
[situare] / tests / map / mapengine / testmapengine.cpp
index 269e845..3cdb973 100644 (file)
@@ -43,6 +43,9 @@ private slots:
     void zoomOutRemovedTilesCount();
     void zoomInRemovedTilesCount();
     void usingLastLocation();
+
+signals:
+    void setCenterPosition(QPoint); // a way to call a private slot
 };
 
 /**
@@ -88,20 +91,21 @@ void TestMapEngine::setLocationNewTilesCount()
 {
     MapEngine engine;
     engine.viewResized(QSize(800, 480));
+    connect(this, SIGNAL(setCenterPosition(QPoint)), &engine, SLOT(setCenterPosition(QPoint)));
 
     QSignalSpy fetchImageSpy(&engine, SIGNAL(fetchImage(int,int,int)));
     QTest::qWait(1000);
     fetchImageSpy.clear();
 
     // first test, scene is empty so all tiles should be downloaded
-    engine.setLocation(QPoint(1220*16, 1220*16));
+    emit setCenterPosition(QPoint(1220*16, 1220*16));
     QTest::qWait(1000);
     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
-    engine.setLocation(QPoint((1220+TILE_SIZE_X)*16, (1220+TILE_SIZE_Y)*16));
+    emit setCenterPosition(QPoint((1220+TILE_SIZE_X)*16, (1220+TILE_SIZE_Y)*16));
     QTest::qWait(1000);
     QCOMPARE(fetchImageSpy.count(), 4 + 4);
     fetchImageSpy.clear();
@@ -111,18 +115,19 @@ void TestMapEngine::setLocationRemovedTilesCount()
 {
     MapEngine engine;
     engine.viewResized(QSize(800, 480));
+    connect(this, SIGNAL(setCenterPosition(QPoint)), &engine, SLOT(setCenterPosition(QPoint)));
 
     const int maxItemsCount = 40;
 
-    engine.setLocation(QPoint(1220*16, 1220*16));
+    emit setCenterPosition(QPoint(1220*16, 1220*16));
     QTest::qWait(1000);
-    engine.setLocation(QPoint(2220*16, 2220*16));
+    emit setCenterPosition(QPoint(2220*16, 2220*16));
     QTest::qWait(1000);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 
-    engine.setLocation(QPoint(520*16, 2220*16));
+    emit setCenterPosition(QPoint(520*16, 2220*16));
     QTest::qWait(1000);
-    engine.setLocation(QPoint(2220*16, 520*16));
+    emit setCenterPosition(QPoint(2220*16, 520*16));
     QTest::qWait(1000);
 
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
@@ -132,17 +137,18 @@ void TestMapEngine::zoomInRemovedTilesCount()
 {
     MapEngine engine;
     engine.viewResized(QSize(800, 480));
+    connect(this, SIGNAL(setCenterPosition(QPoint)), &engine, SLOT(setCenterPosition(QPoint)));
 
     const int maxItemsCount = 40;
 
-    engine.setLocation(QPoint(1220*16, 1220*16));
+    emit setCenterPosition(QPoint(1220*16, 1220*16));
     QTest::qWait(1000);
     QTest::qWait(1000);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 
-    engine.setLocation(QPoint(520*16, 2220*16));
+    emit setCenterPosition(QPoint(520*16, 2220*16));
     QTest::qWait(1000);
-    engine.setLocation(QPoint(2220*16, 520*16));
+    emit setCenterPosition(QPoint(2220*16, 520*16));
     QTest::qWait(1000);
 
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
@@ -152,18 +158,19 @@ void TestMapEngine::zoomOutRemovedTilesCount()
 {
     MapEngine engine;
     engine.viewResized(QSize(800, 480));
+    connect(this, SIGNAL(setCenterPosition(QPoint)), &engine, SLOT(setCenterPosition(QPoint)));
 
     const int maxItemsCount = 40;
 
-    engine.setLocation(QPoint(1220*16, 1220.23*16));
+    emit setCenterPosition(QPoint(1220*16, 1220.23*16));
     QTest::qWait(1000);
-    engine.setLocation(QPoint(2220*16, 2220.23*16));
+    emit setCenterPosition(QPoint(2220*16, 2220.23*16));
     QTest::qWait(1000);
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
 
-    engine.setLocation(QPoint(520*16, 2220*16));
+    emit setCenterPosition(QPoint(520*16, 2220*16));
     QTest::qWait(1000);
-    engine.setLocation(QPoint(2220*16, 520*16));
+    emit setCenterPosition(QPoint(2220*16, 520*16));
     QTest::qWait(1000);
 
     QVERIFY(engine.scene()->items().count() <= maxItemsCount);
@@ -174,6 +181,7 @@ void TestMapEngine::usingLastLocation()
     // Create mapengine and start monitoring zoomLevelChanged-signal
     MapEngine *mapengine = new MapEngine;
     QSignalSpy mapEngineSpy(mapengine, SIGNAL(zoomLevelChanged(int)));
+    connect(this, SIGNAL(setCenterPosition(QPoint)), mapengine, SLOT(setCenterPosition(QPoint)));
     QVERIFY (mapEngineSpy.isValid());
     QCOMPARE (mapEngineSpy.count(), 0);
 
@@ -204,7 +212,7 @@ void TestMapEngine::usingLastLocation()
 
     // Call set location with know parameter to get location changed
     // Store new location and zoomlevel to settings
-    mapengine->setLocation(NEW_TEST_SCENECOORDINATE);
+    emit setCenterPosition(NEW_TEST_SCENECOORDINATE);
     delete mapengine;
 
     // Read settings and verify that zoomlevel is correct