File indexing completed on 2024-03-24 04:43:46
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/uic/uicrailwaycoach.cpp" 0008 0009 #include <QTest> 0010 0011 #define s(x) QStringLiteral(x) 0012 0013 using namespace KPublicTransport; 0014 0015 class UicRailwayCoachTest: public QObject 0016 { 0017 Q_OBJECT 0018 private Q_SLOTS: 0019 void testClasses() 0020 { 0021 QCOMPARE(UicRailwayCoach::coachClass(QString(), QString()), VehicleSection::UnknownClass); 0022 QCOMPARE(UicRailwayCoach::coachClass(u"738029947087", u"Bpmbz"), VehicleSection::SecondClass); 0023 QCOMPARE(UicRailwayCoach::coachClass(u"738029947087", QString()), VehicleSection::SecondClass); 0024 QCOMPARE(UicRailwayCoach::coachClass(QString(), u"Afmpz"), VehicleSection::FirstClass); 0025 QCOMPARE(UicRailwayCoach::coachClass(QString(), u"WRmz"), VehicleSection::UnknownClass); 0026 QCOMPARE(UicRailwayCoach::coachClass(QString(), u"DABpza"), VehicleSection::SecondClass | VehicleSection::FirstClass); 0027 QCOMPARE(UicRailwayCoach::coachClass(u"505486720019", u"ABfbdmteeo"), VehicleSection::SecondClass | VehicleSection::FirstClass); 0028 QCOMPARE(UicRailwayCoach::coachClass(u"615485711035", u"ARmpee"), VehicleSection::FirstClass); 0029 } 0030 0031 void testDeckCount() 0032 { 0033 QCOMPARE(UicRailwayCoach::deckCount(QString(), QString()), 1); 0034 QCOMPARE(UicRailwayCoach::deckCount(u"738029947087", u"Bpmbz"), 1); 0035 QCOMPARE(UicRailwayCoach::deckCount(u"738029947087", QString()), 1); 0036 QCOMPARE(UicRailwayCoach::deckCount(QString(), u"Afmpz"), 1); 0037 QCOMPARE(UicRailwayCoach::deckCount(QString(), u"DABpza"), 2); 0038 QCOMPARE(UicRailwayCoach::deckCount(u"505486720019", u"ABfbdmteeo"), 2); 0039 QCOMPARE(UicRailwayCoach::deckCount(u"615485711035", u"ARmpee"), 1); 0040 QCOMPARE(UicRailwayCoach::deckCount(u"508126339000", u"Bmpz-dl"), 2); 0041 } 0042 0043 void testFeatures() 0044 { 0045 QCOMPARE(UicRailwayCoach::features(QString(), QString()), VehicleSection::NoFeatures); 0046 QCOMPARE(UicRailwayCoach::features(u"738029947087", u"Bpmbz"), VehicleSection::AirConditioning | VehicleSection::WheelchairAccessible); 0047 QCOMPARE(UicRailwayCoach::features(u"738029947087", QString()), VehicleSection::AirConditioning); 0048 QCOMPARE(UicRailwayCoach::features(u"738180907342", u"Afmpz"), VehicleSection::AirConditioning); 0049 QCOMPARE(UicRailwayCoach::features(QString(), u"WRmz"), VehicleSection::Restaurant); 0050 QCOMPARE(UicRailwayCoach::features(u"938054112686", u"WRmz"), VehicleSection::Restaurant); 0051 QCOMPARE(UicRailwayCoach::features(u"508086818566", u"DBpbzfa"), VehicleSection::WheelchairAccessible | VehicleSection::AirConditioning); 0052 QCOMPARE(UicRailwayCoach::features(u"738185905341", u"ARbmpz"), VehicleSection::Restaurant | VehicleSection::WheelchairAccessible | VehicleSection::AirConditioning); 0053 QCOMPARE(UicRailwayCoach::features(u"508086818566", QString()), VehicleSection::NoFeatures); 0054 QCOMPARE(UicRailwayCoach::features(u"918061465699", u"E1465"), VehicleSection::NoFeatures); 0055 QCOMPARE(UicRailwayCoach::features(u"505486720019", u"ABfbdmteeo"), VehicleSection::WheelchairAccessible | VehicleSection::BikeStorage); 0056 QCOMPARE(UicRailwayCoach::features(u"615485711035", u"ARmpee"), VehicleSection::Restaurant); 0057 } 0058 0059 void testType() 0060 { 0061 QCOMPARE(UicRailwayCoach::type(QString(), QString()), VehicleSection::UnknownType); 0062 QCOMPARE(UicRailwayCoach::type(u"738029947087", u"Bpmbz"), VehicleSection::PassengerCar); 0063 QCOMPARE(UicRailwayCoach::type(u"738029947087", QString()), VehicleSection::PassengerCar); 0064 QCOMPARE(UicRailwayCoach::type(u"738180907342", u"Afmpz"), VehicleSection::ControlCar); 0065 QCOMPARE(UicRailwayCoach::type(QString(), u"WRmz"), VehicleSection::RestaurantCar); 0066 QCOMPARE(UicRailwayCoach::type(u"938054112686", u"WRmz"), VehicleSection::RestaurantCar); 0067 QCOMPARE(UicRailwayCoach::type(u"508086818566", u"DBpbzfa"), VehicleSection::ControlCar); 0068 QCOMPARE(UicRailwayCoach::type(u"738185905341", u"ARbmpz"), VehicleSection::PassengerCar); 0069 QCOMPARE(UicRailwayCoach::type(u"918111162346", u"TZF"), VehicleSection::Engine); 0070 QCOMPARE(UicRailwayCoach::type(u"918061465699", u"E1465"), VehicleSection::Engine); 0071 QEXPECT_FAIL("", "not detectable?", Continue); 0072 QCOMPARE(UicRailwayCoach::type(u"938054020061", u"I4020"), VehicleSection::PowerCar); 0073 QCOMPARE(UicRailwayCoach::type(u"938058080061", u"Bpmzf"), VehicleSection::ControlCar); 0074 QCOMPARE(UicRailwayCoach::type(u"505486720019", u"ABfbdmteeo"), VehicleSection::ControlCar); 0075 QCOMPARE(UicRailwayCoach::type(u"615485711035", u"ARmpee"), VehicleSection::PassengerCar); 0076 QCOMPARE(UicRailwayCoach::type(u"618072900000", u"WLABmz"), VehicleSection::SleepingCar); 0077 QCOMPARE(UicRailwayCoach::type(u"618159900000", u"Bcmz"), VehicleSection::CouchetteCar); 0078 QCOMPARE(UicRailwayCoach::type(u"738159913000", u"Bbcmvz"), VehicleSection::CouchetteCar); 0079 } 0080 }; 0081 0082 QTEST_APPLESS_MAIN(UicRailwayCoachTest) 0083 0084 #include "uicrailwaycoachtest.moc"