From abdb18961452144ff5307a3858050dba90d34abe Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sami=20R=C3=A4m=C3=B6?= Date: Wed, 14 Apr 2010 12:24:28 +0300 Subject: [PATCH] Implemented unit test for MapEngine::convertLatLonToSceneCoordinate ...but the test is currently failing because there is something wrong in the conversion equations or some rounding error. --- tests/testmap/testmapengine/testmapengine.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/tests/testmap/testmapengine/testmapengine.cpp b/tests/testmap/testmapengine/testmapengine.cpp index 36d69c0..eaf9895 100644 --- a/tests/testmap/testmapengine/testmapengine.cpp +++ b/tests/testmap/testmapengine/testmapengine.cpp @@ -29,6 +29,7 @@ class TestMapEngine: public QObject private slots: void convertTileNumberToSceneCoordinate(); // void setViewLocation(); + void convertLatLonToSceneCoordinate_data(); void convertLatLonToSceneCoordinate(); void calculateRect(); void setLocation(); @@ -61,15 +62,27 @@ void TestMapEngine::convertTileNumberToSceneCoordinate() //} /** + * @brief Test data for converting latitude and longitude coordinates to scene coordinates + */ +void TestMapEngine::convertLatLonToSceneCoordinate_data() +{ + QTest::addColumn("coordinate"); + QTest::addColumn("result"); + + QTest::newRow("top left") << QPointF(-180, 85.0511) << QPointF(0, 0); + QTest::newRow("bottom right") << QPointF(180, -85.0511) << QPointF(67108863, 67108863); +} + +/** * @brief Test converting real world cordinates to scene coordinates * @todo Implement */ void TestMapEngine::convertLatLonToSceneCoordinate() { - QCOMPARE(MapEngine::convertLatLonToSceneCoordinate(QPointF(25.5, 65.0)), QPointF(73, 33)); - QCOMPARE(MapEngine::convertLatLonToSceneCoordinate(QPointF(25.5, 65.0)), QPointF(1, 0)); - QCOMPARE(MapEngine::convertLatLonToSceneCoordinate(QPointF(-190.0, 65.0)), QPointF(UNDEFINED, UNDEFINED)); - QCOMPARE(MapEngine::convertLatLonToSceneCoordinate(QPointF(20.0, 65.0)), QPointF(UNDEFINED, UNDEFINED)); + QFETCH(QPointF, coordinate); + QFETCH(QPointF, result); + + QCOMPARE(MapEngine::convertLatLonToSceneCoordinate(coordinate), result); } void TestMapEngine::calculateRect() -- 1.7.9.5