File indexing completed on 2024-04-14 04:36:17

0001 /*
0002     SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "../src/lib/gbfs/gbfsreader.cpp"
0008 
0009 #include <QJsonDocument>
0010 #include <QJsonObject>
0011 #include <QTest>
0012 
0013 #include <cmath>
0014 
0015 using namespace KPublicTransport;
0016 
0017 class GBFSReaderTest : public QObject
0018 {
0019     Q_OBJECT
0020 private Q_SLOTS:
0021     void testReadCoords()
0022     {
0023         auto obj = QJsonDocument::fromJson("{\"lat\":48.396619,\"lon\":9.990212}").object();
0024         QCOMPARE(obj.size(), 2);
0025         QCOMPARE(GBFSReader::readLatitude(obj), 48.396619);
0026         QCOMPARE(GBFSReader::readLongitude(obj), 9.990212);
0027         obj = QJsonDocument::fromJson("{\"lat\":\"41.4852\",\"lon\":\"-81.8039\",\"vehicle_type\":\"scooter\"}").object();
0028         QCOMPARE(obj.size(), 3);
0029         QCOMPARE(GBFSReader::readLatitude(obj), 41.4852);
0030         QCOMPARE(GBFSReader::readLongitude(obj), -81.8039);
0031         obj = {};
0032         QCOMPARE(GBFSReader::readLatitude(obj), NAN);
0033         QCOMPARE(GBFSReader::readLongitude(obj), NAN);
0034     }
0035 };
0036 
0037 QTEST_APPLESS_MAIN(GBFSReaderTest)
0038 
0039 #include "gbfsreadertest.moc"