summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2019-02-05 19:42:22 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2019-02-06 11:54:12 +0000
commitad7bcebc575922fc7c5654c118794e5758d347d2 (patch)
tree022f156d3e3859b1d488e3ec8cbdfb7b89a1a699 /tests
parent7a65e5f2b9d5ecda418e76f98acd90506025186a (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')
-rw-r--r--tests/auto/declarative_core/tst_routing.qml13
-rw-r--r--tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h6
-rw-r--r--tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp16
-rw-r--r--tests/auto/qgeorouterequest/tst_qgeorouterequest.h2
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: