summaryrefslogtreecommitdiffstats
path: root/tests/testgpscoords.h
diff options
context:
space:
mode:
authorGravatar Patrick Valsecchi <patrick@thus.ch>2015-02-04 09:30:24 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-02-04 10:51:27 -0800
commitbd9a44379367cb6c66781bf301e3af19833a9c02 (patch)
treef81a2c5cec327b52d892b5b61ea55c7b74ac9b22 /tests/testgpscoords.h
parente82a0cdec5768a89037537fe20aa9dd3a7358630 (diff)
downloadsubsurface-bd9a44379367cb6c66781bf301e3af19833a9c02.tar.gz
More tolerant when parsing GPS coordinates.
Refactored the parsing logic to make it more solid (no more guessing) and more flexible (support more formats). Added a test for checking that. Fixed a few warnings. [Dirk Hohndel: some changes to coding style] Signed-off-by: Patrick Valsecchi <patrick@thus.ch> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'tests/testgpscoords.h')
-rw-r--r--tests/testgpscoords.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/testgpscoords.h b/tests/testgpscoords.h
new file mode 100644
index 000000000..5add3da93
--- /dev/null
+++ b/tests/testgpscoords.h
@@ -0,0 +1,28 @@
+#ifndef TESTGPSCOORDS_H
+#define TESTGPSCOORDS_H
+
+#include <QtTest>
+
+class TestGpsCoords : public QObject {
+Q_OBJECT
+private slots:
+ void testISO6709DParse();
+ void testNegativeISO6709DParse();
+ void testSpaceISO6709DParse();
+ void testSecondsParse();
+ void testSpaceSecondsParse();
+ void testNegativeSecondsParse();
+ void testMinutesParse();
+ void testSpaceMinutesParse();
+ void testMinutesInversedParse();
+ void testDecimalParse();
+ void testSpaceDecimalParse();
+ void testDecimalInversedParse();
+
+private:
+ static void testParseOK(const QString &txt, double expectedLat,
+ double expectedLon);
+ static double coord2double(double deg, double min = 0.0, double sec = 0.0);
+};
+
+#endif