{
qDebug() << __PRETTY_FUNCTION__;
- Q_ASSERT(coordinate.longitude() > MAX_LONGITUDE);
- Q_ASSERT(coordinate.longitude() < MIN_LONGITUDE);
- Q_ASSERT(coordinate.latitude() > MAX_LATITUDE);
- Q_ASSERT(coordinate.latitude() < MIN_LATITUDE);
+ Q_ASSERT(coordinate.longitude() >= MIN_LONGITUDE);
+ Q_ASSERT(coordinate.longitude() <= MAX_LONGITUDE);
+ Q_ASSERT(coordinate.latitude() >= MIN_LATITUDE);
+ Q_ASSERT(coordinate.latitude() <= MAX_LATITUDE);
+
// calculate x & y positions in the map (0..1)
double worldX = static_cast<double>((coordinate.longitude() + 180.0) / 360.0);
*/
const int OWN_LOCATION_ICON_Z_LEVEL = FRIEND_LOCATION_ICON_Z_LEVEL + 1;
-const qreal MAX_LATITUDE = 85.05112877980659237802; ///< Maximum latitude value
-const qreal MIN_LATITUDE = -MAX_LATITUDE; ///< Minimum latitude value
-const qreal MIN_LONGITUDE = -180.0; ///< Minimum longitude value
-const qreal MAX_LONGITUDE = 180.0; ///< Maximum longitude value
+const double MAX_LATITUDE = 85.05112877980659237802; ///< Maximum latitude value
+const double MIN_LATITUDE = -MAX_LATITUDE; ///< Minimum latitude value
+const double MIN_LONGITUDE = -180.0; ///< Minimum longitude value
+const double MAX_LONGITUDE = 180.0; ///< Maximum longitude value
const int DEFAULT_ZOOM_LEVEL = 14; ///< Default zoom level
const qreal DEFAULT_LONGITUDE = 0.0000; ///< Default longitude value
#include <QtCore/QString>
#include <QtTest/QtTest>
+#include "coordinates/geocoordinate.h"
+#include "map/mapcommon.h"
+
#include "coordinates/scenecoordinate.h"
const double X = 12.345678;
{
Q_OBJECT
-public:
- TestSceneCoordinate();
-
private Q_SLOTS:
void constructors();
void conversion();
+ void conversion_data();
void isNull();
void settersAndGetters();
};
-TestSceneCoordinate::TestSceneCoordinate()
-{
-}
-
void TestSceneCoordinate::constructors()
{
SceneCoordinate coordinate;
QCOMPARE(coordinate2.x(), X);
QCOMPARE(coordinate2.y(), Y);
- QVERIFY2(false, "constructor with conversion from GeoCoordinate is not tested");
+ // NOTE: constructor with conversion from GeoCoordinate is tested in conversion() test slot
}
void TestSceneCoordinate::conversion()
{
- QVERIFY2(false, "not implemented, transfer from MapEngine");
+ QFETCH(GeoCoordinate, geoCoordinate);
+ QFETCH(SceneCoordinate, result);
+
+ SceneCoordinate sceneCoordinate(geoCoordinate);
+
+ QCOMPARE(sceneCoordinate.x(), result.x());
+ QCOMPARE(sceneCoordinate.y(), result.y());
+}
+
+void TestSceneCoordinate::conversion_data()
+{
+ QTest::addColumn<GeoCoordinate>("geoCoordinate");
+ QTest::addColumn<SceneCoordinate>("result");
+
+ QTest::newRow("top left") << GeoCoordinate(MAX_LATITUDE, MIN_LONGITUDE)
+ << SceneCoordinate(0, 0);
+
+ int x = (1 << MAX_MAP_ZOOM_LEVEL) * TILE_SIZE_X;
+ int y = (1 << MAX_MAP_ZOOM_LEVEL) * TILE_SIZE_Y;
+ QTest::newRow("bottom right") << GeoCoordinate(MIN_LATITUDE, MAX_LONGITUDE)
+ << SceneCoordinate(x, y);
}
void TestSceneCoordinate::isNull()