summaryrefslogtreecommitdiff
path: root/tests/auto/declarative_positioning_core/tst_geoshape.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative_positioning_core/tst_geoshape.qml')
-rw-r--r--tests/auto/declarative_positioning_core/tst_geoshape.qml300
1 files changed, 0 insertions, 300 deletions
diff --git a/tests/auto/declarative_positioning_core/tst_geoshape.qml b/tests/auto/declarative_positioning_core/tst_geoshape.qml
deleted file mode 100644
index 6429fb26..00000000
--- a/tests/auto/declarative_positioning_core/tst_geoshape.qml
+++ /dev/null
@@ -1,300 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtTest 1.0
-import QtPositioning 5.2
-import TestFactory 1.0
-
-Item {
- id: testCase
-
- property var coordinate1: QtPositioning.coordinate(1, 1)
- property var coordinate2: QtPositioning.coordinate(2, 2)
- property var coordinate3: QtPositioning.coordinate(80, 80)
-
- property var emptyCircle: QtPositioning.circle()
- property var circle1: QtPositioning.circle(coordinate1, 200000)
-
- SignalSpy { id: circleChangedSpy; target: testCase; signalName: "emptyCircleChanged" }
-
- TestCase {
- name: "Bounding circle"
- function test_circle_defaults_and_setters() {
- circleChangedSpy.clear();
- compare (emptyCircle.radius, -1)
- compare (circle1.radius, 200000)
-
- emptyCircle.radius = 200
- compare(emptyCircle.radius, 200)
-
- emptyCircle.center = coordinate1
- compare(emptyCircle.center, coordinate1)
-
- emptyCircle.center = coordinate2
- compare(emptyCircle.center, coordinate2)
-
- emptyCircle = QtPositioning.circle(coordinate1, 200000)
- compare(emptyCircle.center, coordinate1)
- compare(emptyCircle.radius, 200000)
- // signal is triggered only when we update the whole object
- compare(circleChangedSpy.count, 1)
-
- compare(emptyCircle.contains(coordinate1), true);
- compare(emptyCircle.contains(coordinate2), true);
- compare(emptyCircle.contains(coordinate3), false);
- }
- }
-
- property var trace1 : [ QtPositioning.coordinate(43.773175, 11.255386),
- QtPositioning.coordinate(43.773546 , 11.255372) ]
- property var trace2 : [ QtPositioning.coordinate(43.773175, 11.255386),
- QtPositioning.coordinate(43.773546 , 11.255372),
- QtPositioning.coordinate(43.77453 , 11.255734) ]
-
-
- // coordinate unit square
- property var bl: QtPositioning.coordinate(0, 0)
- property var tl: QtPositioning.coordinate(1, 0)
- property var tr: QtPositioning.coordinate(1, 1)
- property var br: QtPositioning.coordinate(0, 1)
- property var ntr: QtPositioning.coordinate(3, 3)
-
- property var invalid: QtPositioning.coordinate(100, 190)
- property var inside: QtPositioning.coordinate(0.5, 0.5)
- property var outside: QtPositioning.coordinate(2, 2)
-
- property var box: QtPositioning.rectangle(tl, br)
-
- property var coordinates: [bl, tl, tr, br]
- property var coordinates2: [bl, tl, tr, br, ntr]
- property var coordinates3: [tr]
- property var coordinates4: [invalid]
- property var coordinates5: []
-
- property var listBox: QtPositioning.rectangle(coordinates)
- property var listBox2: QtPositioning.rectangle(coordinates2)
- property var listBox3: QtPositioning.rectangle(coordinates3)
- property var listBox4: QtPositioning.rectangle(coordinates4)
- property var listBox5: QtPositioning.rectangle(coordinates5)
-
- property var widthBox: QtPositioning.rectangle(inside, 1, 1);
-
- // C++ auto test exists for basics of bounding box, testing here
- // only added functionality
- TestCase {
- name: "Bounding box"
- function test_box_defaults_and_setters() {
- compare (box.bottomRight.longitude, br.longitude) // sanity
- compare (box.contains(bl), true)
- compare (box.contains(inside), true)
- compare (box.contains(outside), false)
- box.topRight = ntr
- compare (box.contains(outside), true)
-
- compare (listBox.isValid, true)
- compare (listBox.contains(outside), false)
- compare (listBox2.contains(outside), true)
- compare (listBox3.isValid, true)
- compare (listBox3.isEmpty, true)
- compare (listBox4.isValid, false)
- compare (listBox5.isValid, false)
-
- compare (widthBox.contains(inside), true)
- compare (widthBox.contains(outside), false)
- }
- }
-
- TestCase {
- name: "Shape"
-
- function test_shape_comparison_data() {
- return [
- { tag: "invalid shape", shape1: QtPositioning.shape(), shape2: QtPositioning.shape(), result: true },
- { tag: "box equal", shape1: box, shape2: QtPositioning.rectangle(tl, br), result: true },
- { tag: "box not equal", shape1: box, shape2: QtPositioning.rectangle([inside, outside]), result: false },
- { tag: "box invalid shape", rect1: box, shape2: QtPositioning.shape(), result: false },
- { tag: "invalid rectangle", shape1: QtPositioning.rectangle(), shape2: QtPositioning.rectangle(), result: true },
- { tag: "invalid rectangle2", shape1: QtPositioning.rectangle(), shape2: QtPositioning.shape(), result: false },
- { tag: "circle1 equal", shape1: circle1, shape2: QtPositioning.circle(coordinate1, 200000), result: true },
- { tag: "circle1 not equal", shape1: circle1, shape2: QtPositioning.circle(coordinate2, 2000), result: false },
- { tag: "circle1 invalid shape", shape1: circle1, shape2: QtPositioning.shape(), result: false },
- { tag: "invalid circle", shape1: QtPositioning.circle(), shape2: QtPositioning.circle(), result: true },
- { tag: "invalid circle2", shape1: QtPositioning.circle(), shape2: QtPositioning.shape(), result: false }
- ]
- }
-
- function test_shape_comparison(data) {
- compare(data.shape1 === data.shape2, data.result)
- compare(data.shape1 !== data.shape2, !data.result)
- compare(data.shape1 == data.shape2, data.result)
- compare(data.shape1 != data.shape2, !data.result)
- }
- }
-
- TestCase {
- name: "Conversions"
-
- function test_shape_circle_conversions() {
- var circle = QtPositioning.shapeToCircle(QtPositioning.shape())
- verify(!circle.isValid)
- circle = QtPositioning.shapeToCircle(QtPositioning.circle())
- verify(!circle.isValid)
- circle = QtPositioning.shapeToCircle(QtPositioning.circle(tl, 10000))
- verify(circle.isValid)
- compare(circle.center, tl)
- compare(circle.radius, 10000)
- circle = QtPositioning.shapeToCircle(QtPositioning.rectangle())
- verify(!circle.isValid)
- circle = QtPositioning.shapeToCircle(QtPositioning.rectangle(tl, br))
- verify(!circle.isValid)
- circle = QtPositioning.shapeToCircle(listBox)
- verify(!circle.isValid)
- }
-
- function test_shape_rectangle_conversions() {
- var rectangle = QtPositioning.shapeToRectangle(QtPositioning.shape())
- verify(!rectangle.isValid)
- rectangle = QtPositioning.shapeToRectangle(QtPositioning.circle())
- verify(!rectangle.isValid)
- rectangle = QtPositioning.shapeToRectangle(QtPositioning.circle(tl, 10000))
- verify(!rectangle.isValid)
- rectangle = QtPositioning.shapeToRectangle(QtPositioning.rectangle())
- verify(!rectangle.isValid)
- rectangle = QtPositioning.shapeToRectangle(QtPositioning.rectangle(tl, br))
- verify(rectangle.isValid)
- compare(rectangle.topLeft, tl)
- compare(rectangle.bottomRight, br)
- rectangle = QtPositioning.shapeToRectangle(listBox)
- verify(rectangle.isValid)
- }
-
- function test_shape_path_conversions() {
- var path = QtPositioning.shapeToPath(QtPositioning.shape())
- verify(!path.isValid)
- path = QtPositioning.shapeToPath(QtPositioning.circle())
- verify(!path.isValid)
- path = QtPositioning.shapeToPath(QtPositioning.circle(tl, 10000))
- verify(!path.isValid)
- path = QtPositioning.shapeToPath(QtPositioning.rectangle())
- verify(!path.isValid)
- path = QtPositioning.shapeToPath(QtPositioning.rectangle(tl, br))
- verify(!path.isValid)
-
- path = QtPositioning.shapeToPath(QtPositioning.path())
- verify(!path.isValid)
- path = QtPositioning.shapeToPath(QtPositioning.path(trace1, 1))
- verify(path.isValid)
- path = QtPositioning.shapeToPath(QtPositioning.path(trace2, 2))
- verify(path.isValid)
- verify(path !== QtPositioning.shapeToPath(QtPositioning.path(trace1, 1)))
- compare(path, QtPositioning.shapeToPath(QtPositioning.path(trace2, 2)))
- }
-
- function test_shape_polygon_conversions() {
- var polygon = QtPositioning.shapeToPolygon(QtPositioning.shape())
- verify(!polygon.isValid)
- polygon = QtPositioning.shapeToPolygon(QtPositioning.circle())
- verify(!polygon.isValid)
- polygon = QtPositioning.shapeToPolygon(QtPositioning.circle(tl, 10000))
- verify(polygon.isValid) // fixed, polygon copy constructor can now initialize from a circle.
- polygon = QtPositioning.shapeToPolygon(QtPositioning.rectangle())
- verify(!polygon.isValid)
- polygon = QtPositioning.shapeToPolygon(QtPositioning.rectangle(tl, br))
- verify(polygon.isValid) // fixed, polygon copy constructor can now initialize from a rectangle.
-
- polygon = QtPositioning.shapeToPolygon(QtPositioning.polygon())
- verify(!polygon.isValid)
- polygon = QtPositioning.shapeToPolygon(QtPositioning.polygon(trace1))
- verify(!polygon.isValid) // polygon needs 3 coords at least
- polygon = QtPositioning.shapeToPolygon(QtPositioning.polygon(trace2))
- verify(polygon.isValid)
- verify(polygon !== QtPositioning.shapeToPolygon(QtPositioning.polygon(trace1)))
- compare(polygon, QtPositioning.shapeToPolygon(QtPositioning.polygon(trace2)))
- }
- }
-
- TestCase {
- name: "GeoPath path"
- function test_qgeopath_path_operations() {
- var geopath = QtPositioning.path()
-
- geopath.path = trace2
- compare(geopath.path.length, trace2.length)
-
- geopath.path = trace2
- geopath.path[0].longitude = 11.0
- compare(geopath.path.length, trace2.length)
- compare(geopath.coordinateAt(0).latitude, trace2[0].latitude)
- expectFail("", "Longitude comparison fails")
- compare(geopath.coordinateAt(0).longitude, 11)
- }
- }
-
- TestCase {
- name: "GeoPolygon path"
- function test_qgeopolygon_path_operations() {
- var geopolygon = QtPositioning.polygon()
-
- geopolygon.perimeter = trace2
- compare(geopolygon.perimeter.length, trace2.length)
-
- geopolygon.perimeter = trace2
- compare(geopolygon.perimeter.length, trace2.length)
- compare(geopolygon.coordinateAt(0).latitude, trace2[0].latitude)
- compare(geopolygon.coordinateAt(0).longitude, trace2[0].longitude)
- }
- }
-
- Factory {
- id: factory
- }
-
- TestCase {
- name: "GeoShape factory"
- function test_geoshape_factory_construction() {
- // Both createShape() methods return QGeoShape. We check that
- // invokable methods and properties are called for correct
- // objects
- var c0 = QtPositioning.coordinate(1.0, 1.0)
- var c1 = QtPositioning.coordinate(1.0001, 1.0001)
- var c2 = QtPositioning.coordinate(0.5, 0.5)
- var circle = factory.createShape(c0, 100.0)
- verify(circle.contains(c1))
- verify(!circle.contains(c2))
- compare(circle.center, c0)
-
- var rectangle = factory.createShape(QtPositioning.coordinate(1.0, 0.0), QtPositioning.coordinate(0.0, 1.0))
- verify(rectangle.contains(c2))
- verify(!rectangle.contains(c1))
- compare(rectangle.center, c2)
-
- verify(rectangle.center !== circle.center)
- }
- }
-}