diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2019-02-05 19:42:22 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2019-02-06 11:54:12 +0000 |
commit | ad7bcebc575922fc7c5654c118794e5758d347d2 (patch) | |
tree | 022f156d3e3859b1d488e3ec8cbdfb7b89a1a699 /tests | |
parent | 7a65e5f2b9d5ecda418e76f98acd90506025186a (diff) |
Add departure time attribute to route queriesv5.13.0-alpha1
So that it can be used to improve the route calculation based on
traffic information or other time-based information (ferries etc.)
Change-Id: I8bdc81046484cc4f0ebfaffbdf6f034c555d7781
Fixes: QTBUG-70503
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'tests')
4 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/declarative_core/tst_routing.qml b/tests/auto/declarative_core/tst_routing.qml index f5204f26..1d7c1e37 100644 --- a/tests/auto/declarative_core/tst_routing.qml +++ b/tests/auto/declarative_core/tst_routing.qml @@ -929,6 +929,19 @@ Item { compare (spy.count, 21) compare(model.get(0).path.length, 3); + // departure time + verify(!model.get(0).extendedAttributes["tst_departureTime"]) + var invalidDate = new Date("abc"); // to create an invalid date + var validDate = new Date("2011-02-07T11:05:00"); + + filledRouteQuery2.departureTime = validDate + tryCompare(spy, "count", 22) + compare(model.get(0).extendedAttributes["tst_departureTime"], validDate) + + filledRouteQuery2.departureTime = invalidDate + tryCompare (spy, "count", 23) + verify(!model.get(0).extendedAttributes["tst_departureTime"]) + // ReSetting filledRouteQuery.numberAlternativeRoutes = 0 filledRouteQuery2.numberAlternativeRoutes = 0 diff --git a/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h b/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h index 7a6d6cec..daf7a87d 100644 --- a/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h +++ b/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h @@ -187,6 +187,12 @@ public: } } + if (request.departureTime().isValid()) { + QVariantMap extendedAttributes = route.extendedAttributes(); + extendedAttributes["tst_departureTime"] = request.departureTime(); + route.setExtendedAttributes(extendedAttributes); + } + routes.append(route); } reply->callSetRoutes(routes); diff --git a/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp b/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp index d29e3d49..7f56689c 100644 --- a/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp +++ b/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp @@ -348,4 +348,20 @@ void tst_QGeoRouteRequest::extraParameters() QCOMPARE(qgeorouterequest->extraParameters(), emptyParams); } +void tst_QGeoRouteRequest::departureTime_data() +{ + QTest::addColumn<QDateTime>("departureTime"); + + QTest::newRow("Invalid") << QDateTime(); + QTest::newRow("date1") << QDateTime(QDate(2012, 7, 6), QTime(23, 55, 0)); + QTest::newRow("date2") << QDateTime(QDate(2012, 7, 7), QTime(0, 5, 0)); +} + +void tst_QGeoRouteRequest::departureTime() +{ + QFETCH(QDateTime , departureTime); + qgeorouterequest->setDepartureTime(departureTime); + QCOMPARE(qgeorouterequest->departureTime(), departureTime); +} + QTEST_APPLESS_MAIN(tst_QGeoRouteRequest); diff --git a/tests/auto/qgeorouterequest/tst_qgeorouterequest.h b/tests/auto/qgeorouterequest/tst_qgeorouterequest.h index 12506cf6..ee10233d 100644 --- a/tests/auto/qgeorouterequest/tst_qgeorouterequest.h +++ b/tests/auto/qgeorouterequest/tst_qgeorouterequest.h @@ -74,6 +74,8 @@ private Q_SLOTS: void featureWeight_data(); void extraParameters(); void extraParameters_data(); + void departureTime(); + void departureTime_data(); //End Unit Test for QGeoRouteRequest private: |