820ac0e16e685675f8164b54486b3335d5de1986
[situare] / tests / testMap / testmapfetcher.cpp
1 #include <QtTest/QtTest>
2 #include <QUrl>
3 #include <QImage>
4
5 #include "mapfetcherqueue.h"
6
7 class TestMapFetcher : public QObject
8 {
9     Q_OBJECT
10 public:
11     TestMapFetcher();
12
13
14 private slots:
15     void testFetchImage();
16     void testSignals();
17
18
19 private:
20     MapFetcher *mapFetcher;
21 };
22
23 TestMapFetcher::TestMapFetcher()
24 {
25     mapFetcher = new MapFetcher();
26 }
27
28 void TestMapFetcher::testFetchImage()
29 {
30     QUrl url("");
31     mapFetcher->fetchMapImage(url);
32 }
33
34
35 void TestMapFetcher::testSignals()
36 {
37     QSignalSpy imageReceivedSpy(mapFetcher, SIGNAL(mapImageReceived(QUrl,QPixmap)));
38     QSignalSpy imageReceivedErrorSpy(mapFetcher, SIGNAL(error(QString)));
39
40     QVERIFY(imageReceivedSpy.isValid());
41
42     //Incorrect URL
43     /*QUrl url1("http://tile.openstreetmap.org/7/63/22.gi");
44     mapFetcher->fetchMapImage(url1);
45     QTest::qWait(1000);
46     QCOMPARE(imageReceivedErrorSpy.count(), 1);
47     QList<QVariant> signalArgs1 = imageReceivedErrorSpy.takeFirst();
48     qDebug() << signalArgs1.at(0).toString();
49
50     //Correct URL
51     QUrl url2("http://tile.openstreetmap.org/7/63/42.png");
52     mapFetcher->fetchMapImage(url2);
53     QTest::qWait(1000);
54     QCOMPARE(imageReceivedSpy.count(), 1);
55     QList<QVariant> signalArgs2 = imageReceivedSpy.takeLast();
56     QCOMPARE(url2, signalArgs2.at(0).toUrl());*/
57
58     //20 requests immediately
59     /*for (int i = 1; i < 3; ++i) {
60         for (int j = 0; j < 10; ++j) {
61             QUrl url(QString("http://tile.openstreetmap.org/7/53/%1%2.png").arg(i).arg(j));
62             mapFetcher->fetchMapImage(url);
63         }
64     }
65     QTest::qWait(400);
66
67     //50 requests immediately
68     for (int i = 1; i < 6; ++i) {
69         for (int j = 0; j < 10; ++j) {
70             QUrl url(QString("http://tile.openstreetmap.org/7/63/%1%2.png").arg(i).arg(j));
71             mapFetcher->fetchMapImage(url);
72         }
73     }
74
75     QTest::qWait(2000);*/
76
77     for (int i = 0; i < 10; ++i) {
78         QUrl url(QString("http://tile.openstreetmap.org/7/53/%1%2.png").arg(i));
79         mapFetcher->fetchMapImage(url);
80     }
81
82     QTest::qWait(1000);
83
84 }
85
86 QTEST_MAIN(TestMapFetcher)
87 #include "testmapfetcher.moc"