{
qDebug() << __PRETTY_FUNCTION__;
- if (m_latitude == 0 && m_longitude == 0)
+ if ((m_latitude == 0) && (m_longitude == 0))
return true;
return false;
const double MAX_LONGITUDE = 180.0;
if ((m_validityFlags & LatitudeSet) && (m_validityFlags & LongitudeSet) &&
- (m_latitude >= MIN_LATITUDE) && (m_latitude < MAX_LATITUDE) &&
- (m_longitude >= MIN_LONGITUDE) && (m_longitude < MAX_LONGITUDE))
+ (m_latitude >= MIN_LATITUDE) && (m_latitude <= MAX_LATITUDE) &&
+ (m_longitude >= MIN_LONGITUDE) && (m_longitude <= MAX_LONGITUDE))
return true;
else
return QVariant::fromValue(*this);
}
+QDebug operator<<(QDebug dbg, const SceneCoordinate &coordinate)
+{
+ dbg.nospace() << "(" << coordinate.x() << ", " << coordinate.y() << ")";
+
+ return dbg.space();
+}
+
SceneCoordinate & SceneCoordinate::operator*=(double factor)
{
m_x *= factor;
*
* scene has 2^18 * 256 - 1 = 67108864 pixels per side
* one pixel width is 360º / 67108864 = 0.00000536441802978516º
- * so the last scene pixel is 180º - 0.00000536441802978516º = 179.99999463558197021484º *
+ * so the last scene pixel is 180º - 0.00000536441802978516º = 179.99999463558197021484º
*
* @param coordinate Geological coordinate
*/
/**
* @brief Operator for writing the coordinate to QDebug stream.
*/
-QDebug operator<<(QDebug dbg, const SceneCoordinate &c);
+QDebug operator<<(QDebug dbg, const SceneCoordinate &coordinate);
/**
* @brief Returns a SceneCoordinate object that is multiplied by the given factor.
void conversion();
void conversion_data();
void isNullAndIsValid();
+ void isValid();
+ void isValid_data();
void settersAndGetters();
void streamOperators();
};
QVERIFY(coordinate5.isValid());
}
+void TestGeoCoordinate::isValid()
+{
+ QFETCH(GeoCoordinate, coordinate);
+ QFETCH(bool, expectedValidity);
+
+ QCOMPARE(coordinate.isValid(), expectedValidity);
+}
+
+void TestGeoCoordinate::isValid_data()
+{
+ QTest::addColumn<GeoCoordinate>("coordinate");
+ QTest::addColumn<bool>("expectedValidity");
+
+ QTest::newRow("null") << GeoCoordinate(0, 0) << true;
+ QTest::newRow("min latitude") << GeoCoordinate(-90, 0) << true;
+ QTest::newRow("latitude too small") << GeoCoordinate(-90.000000001, 0) << false;
+ QTest::newRow("mad latitude") << GeoCoordinate(90, 0) << true;
+ QTest::newRow("latitude too big") << GeoCoordinate(90.000000001, 0) << false;
+ QTest::newRow("min longitude") << GeoCoordinate(0, -180) << true;
+ QTest::newRow("longitude too small") << GeoCoordinate(0, -180.0000000001) << false;
+ QTest::newRow("max longitude") << GeoCoordinate(0, 180) << true;
+ QTest::newRow("longitude too big") << GeoCoordinate(0, 180.0000000001) << false;
+}
+
void TestGeoCoordinate::settersAndGetters()
{
GeoCoordinate coordinate;