Skip to content

Commit

Permalink
add test for Z/M default in coerceToType
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed Jan 28, 2022
1 parent b98c1df commit 31ac408
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions tests/src/python/test_qgsgeometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -6134,9 +6134,12 @@ def testLineStringFromQPolygonF(self):
def testCoerce(self):
"""Test coerce function"""

def coerce_to_wkt(wkt, type):
def coerce_to_wkt(wkt, type, defaultZ=None, defaultM=None):
geom = QgsGeometry.fromWkt(wkt)
return [g.asWkt(2) for g in geom.coerceToType(type)]
if defaultZ is not None or defaultM is not None:
return [g.asWkt(2) for g in geom.coerceToType(type, defaultZ or 0, defaultM or 0)]
else:
return [g.asWkt(2) for g in geom.coerceToType(type)]

self.assertEqual(coerce_to_wkt('Point (1 1)', QgsWkbTypes.Point), ['Point (1 1)'])
self.assertEqual(coerce_to_wkt('LineString (1 1, 2 2, 3 3)', QgsWkbTypes.LineString),
Expand All @@ -6159,6 +6162,11 @@ def coerce_to_wkt(wkt, type):
# Adding Z back
self.assertEqual(coerce_to_wkt('Point (1 1)', QgsWkbTypes.PointZ), ['PointZ (1 1 0)'])

# Adding Z/M with defaults
self.assertEqual(coerce_to_wkt('Point (1 1)', QgsWkbTypes.PointZ, defaultZ=222), ['PointZ (1 1 222)'])
self.assertEqual(coerce_to_wkt('Point (1 1)', QgsWkbTypes.PointM, defaultM=333), ['PointM (1 1 333)'])
self.assertEqual(coerce_to_wkt('Point (1 1)', QgsWkbTypes.PointZM, defaultZ=222, defaultM=333), ['PointZM (1 1 222 333)'])

# Adding M back
self.assertEqual(coerce_to_wkt('Point (1 1)', QgsWkbTypes.PointM), ['PointM (1 1 0)'])
self.assertEqual(coerce_to_wkt('Point m (1 1 3)', QgsWkbTypes.Point), ['Point (1 1)'])
Expand Down

0 comments on commit 31ac408

Please sign in to comment.