File indexing completed on 2024-04-21 04:41:09
0001 /* 0002 SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include <KPublicTransport/Journey> 0008 #include <KPublicTransport/Stopover> 0009 0010 #include <QTest> 0011 0012 #define s(x) QStringLiteral(x) 0013 0014 using namespace KPublicTransport; 0015 0016 class PlatformTest : public QObject 0017 { 0018 Q_OBJECT 0019 private Q_SLOTS: 0020 void testNormalize_data() 0021 { 0022 QTest::addColumn<QString>("in"); 0023 QTest::addColumn<QString>("out"); 0024 0025 QTest::newRow("empty") << QString() << QString(); 0026 QTest::newRow("no change") << s("1") << s("1"); 0027 0028 QTest::newRow("prefix1") << s("Platform 2") << s("2"); 0029 QTest::newRow("prefix2") << s("pl. 3") << s("3"); 0030 QTest::newRow("prefix3") << s("PLATFORM 4") << s("4"); 0031 0032 QTest::newRow("prefix4") << s("Bahnsteig 5 A-B") << s("5 A-B"); 0033 QTest::newRow("prefix5") << s("Bstg. 6") << s("6"); 0034 QTest::newRow("prefix6") << s("Gleis 7") << s("7"); 0035 0036 QTest::newRow("no info") << s("---") << QString(); 0037 } 0038 0039 void testNormalize() 0040 { 0041 QFETCH(QString, in); 0042 QFETCH(QString, out); 0043 0044 Stopover dep; 0045 dep.setScheduledPlatform(in); 0046 QCOMPARE(dep.scheduledPlatform(), out); 0047 dep.setExpectedPlatform(in); 0048 QCOMPARE(dep.expectedPlatform(), out); 0049 0050 JourneySection sec; 0051 sec.setScheduledDeparturePlatform(in); 0052 QCOMPARE(sec.scheduledDeparturePlatform(), out); 0053 sec.setScheduledArrivalPlatform(in); 0054 QCOMPARE(sec.scheduledArrivalPlatform(), out); 0055 sec.setExpectedDeparturePlatform(in); 0056 QCOMPARE(sec.expectedDeparturePlatform(), out); 0057 sec.setExpectedArrivalPlatform(in); 0058 QCOMPARE(sec.expectedArrivalPlatform(), out); 0059 } 0060 0061 void testPlatformChanged_data() 0062 { 0063 QTest::addColumn<QString>("scheduled"); 0064 QTest::addColumn<QString>("expected"); 0065 QTest::addColumn<bool>("changed"); 0066 0067 QTest::newRow("empty") << QString() << QString() << false; 0068 QTest::newRow("same") << s("1") << s("1") << false; 0069 QTest::newRow("different") << s("2") << s("3") << true; 0070 QTest::newRow("no expected") << s("4") << QString() << false; 0071 QTest::newRow("no scheduled") << QString() << s("5") << false; 0072 } 0073 0074 void testPlatformChanged() 0075 { 0076 QFETCH(QString, scheduled); 0077 QFETCH(QString, expected); 0078 QFETCH(bool, changed); 0079 0080 Stopover dep; 0081 dep.setScheduledPlatform(scheduled); 0082 dep.setExpectedPlatform(expected); 0083 QCOMPARE(dep.platformChanged(), changed); 0084 0085 JourneySection sec; 0086 sec.setScheduledDeparturePlatform(scheduled); 0087 sec.setExpectedDeparturePlatform(expected); 0088 QCOMPARE(sec.departurePlatformChanged(), changed); 0089 sec.setScheduledArrivalPlatform(scheduled); 0090 sec.setExpectedArrivalPlatform(expected); 0091 QCOMPARE(sec.arrivalPlatformChanged(), changed); 0092 } 0093 }; 0094 0095 QTEST_GUILESS_MAIN(PlatformTest) 0096 0097 #include "platformtest.moc"