Skip to content

Commit fe5085e

Browse files
committed
Fix up missing geometry tests (refs #13099)
1 parent ac97a0b commit fe5085e

File tree

1 file changed

+46
-9
lines changed

1 file changed

+46
-9
lines changed

tests/src/python/test_qgsgeometry.py

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ def testClosestVertex(self):
433433
(dist, minDistPoint, afterVertex) = polygon.closestSegmentWithContext(QgsPoint(0.7, 1.1))
434434
self.assertEqual(afterVertex, 2)
435435
self.assertEqual(minDistPoint, QgsPoint(1, 1))
436-
exp = 0.3**2 + 0.1**2
436+
exp = 0.3 ** 2 + 0.1 ** 2
437437
assert abs(dist - exp) < 0.00001, "Expected: %f; Got:%f" % (exp, dist)
438438

439439
# 3-+-+-2
@@ -747,6 +747,42 @@ def testMultipoint(self):
747747
assert p == points[i], "Expected %s at %d, got %s" % (points[i].toString(), i, p.toString())
748748
i += 1
749749

750+
multipoint = QgsGeometry.fromWkt("MultiPoint ((5 5))")
751+
assert multipoint.vertexAt(0) == QgsPoint(5, 5), "MULTIPOINT fromWkt failed"
752+
753+
assert multipoint.insertVertex(4, 4, 0), "MULTIPOINT insert 4,4 at 0 failed"
754+
expwkt = "MultiPoint ((4 4, 5 5))"
755+
wkt = multipoint.exportToWkt()
756+
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
757+
758+
assert multipoint.insertVertex(7, 7, 2), "MULTIPOINT append 7,7 at 2 failed"
759+
expwkt = "MultiPoint ((4 4, 5 5, 7 7))"
760+
wkt = multipoint.exportToWkt()
761+
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
762+
763+
assert multipoint.insertVertex(6, 6, 2), "MULTIPOINT append 6,6 at 2 failed"
764+
expwkt = "MultiPoint ((4 4, 5 5, 6 6, 7 7))"
765+
wkt = multipoint.exportToWkt()
766+
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
767+
768+
assert not multipoint.deleteVertex(4), "MULTIPOINT delete at 4 unexpectedly succeeded"
769+
assert not multipoint.deleteVertex(-1), "MULTIPOINT delete at -1 unexpectedly succeeded"
770+
771+
assert multipoint.deleteVertex(1), "MULTIPOINT delete at 1 failed"
772+
expwkt = "MultiPoint ((4 4, 6 6, 7 7))"
773+
wkt = multipoint.exportToWkt()
774+
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
775+
776+
assert multipoint.deleteVertex(2), "MULTIPOINT delete at 2 failed"
777+
expwkt = "MultiPoint ((4 4, 6 6))"
778+
wkt = multipoint.exportToWkt()
779+
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
780+
781+
assert multipoint.deleteVertex(0), "MULTIPOINT delete at 2 failed"
782+
expwkt = "MultiPoint ((6 6))"
783+
wkt = multipoint.exportToWkt()
784+
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
785+
750786
multipoint = QgsGeometry.fromWkt("MultiPoint ((5 5))")
751787
assert multipoint.vertexAt(0) == QgsPoint(5, 5), "MultiPoint fromWkt failed"
752788

@@ -928,10 +964,10 @@ def testDeleteVertex(self):
928964
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
929965

930966
polygon = QgsGeometry.fromWkt("MultiPolygon (((0 0, 1 0, 1 1, 2 1, 2 2, 0 2, 0 0)),((4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))")
931-
for i in range(3): # cannot have less than four points in a ring
967+
for i in range(6):
932968
assert polygon.deleteVertex(0), "Delete vertex 0 failed"
933969

934-
expwkt = "MultiPolygon (((2 1, 2 2, 0 2, 2 1)),((4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))"
970+
expwkt = "MultiPolygon (((4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))"
935971
wkt = polygon.exportToWkt()
936972
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
937973

@@ -945,17 +981,18 @@ def testDeleteVertex(self):
945981
polygon = QgsGeometry.fromWkt("Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1),(3 1, 4 1, 4 2, 3 2, 3 1),(5 1, 6 1, 6 2, 5 2, 5 1),(7 1, 8 1, 8 2, 7 2, 7 1))")
946982
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
947983

948-
#cannot have less than 4 vertices in a ring
949-
assert polygon.deleteVertex(16), "Delete vertex 16 failed" % i
984+
for i in range(4):
985+
assert polygon.deleteVertex(16), "Delete vertex 16 failed" % i
950986

951-
expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1),(3 1, 4 1, 4 2, 3 2, 3 1),(5 1, 6 2, 5 2, 5 1),(7 1, 8 1, 8 2, 7 2, 7 1))"
987+
expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1),(3 1, 4 1, 4 2, 3 2, 3 1),(7 1, 8 1, 8 2, 7 2, 7 1))"
952988
wkt = polygon.exportToWkt()
953989
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
954990

955-
#ring needs to have at least 4 vertices!
956-
assert polygon.deleteVertex(5), "Delete vertex 5 failed" % i
991+
for i in range(3):
992+
for j in range(4):
993+
assert polygon.deleteVertex(5), "Delete vertex 5 failed" % i
957994

958-
expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(2 1, 2 2, 1 2, 2 1),(3 1, 4 1, 4 2, 3 2, 3 1),(5 1, 6 2, 5 2, 5 1),(7 1, 8 1, 8 2, 7 2, 7 1))"
995+
expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0))"
959996
wkt = polygon.exportToWkt()
960997
assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
961998

0 commit comments

Comments
 (0)