Skip to content

Commit

Permalink
test_provider_ogr_sqlite.py: correct test case where insertion of inc…
Browse files Browse the repository at this point in the history
…ompatible features is rejected by the OGR SQLite driver
  • Loading branch information
rouault committed May 20, 2024
1 parent 067e5b1 commit b7bfdda
Showing 1 changed file with 3 additions and 28 deletions.
31 changes: 3 additions & 28 deletions tests/src/python/test_provider_ogr_sqlite.py
Original file line number Diff line number Diff line change
Expand Up @@ -566,35 +566,10 @@ def testExtentSqlite(self):
f = None
ds = None

# create bad 3D dataset (declared ZM but with 2.5d data)
tmpfile = os.path.join(self.basetestpath, 'points_with_bad_z.sqlite')
# create empty 3D dataset
tmpfile = os.path.join(self.basetestpath, 'points_z_empty.sqlite')
ds = ogr.GetDriverByName('SQLite').CreateDataSource(tmpfile, options=['SPATIALITE=YES'])
lyr = ds.CreateLayer('test', geom_type=ogr.wkbPointZM, options=['FID=fid'])
f = ogr.Feature(lyr.GetLayerDefn())
f.SetFID(0)
f.SetGeometry(ogr.CreateGeometryFromWkt('Point Z (0 0 -5)'))
lyr.CreateFeature(f)
f = ogr.Feature(lyr.GetLayerDefn())
f.SetFID(1)
f.SetGeometry(ogr.CreateGeometryFromWkt('Point Z (1 1 -10)'))
lyr.CreateFeature(f)
f = ogr.Feature(lyr.GetLayerDefn())
f.SetFID(2)
f.SetGeometry(ogr.CreateGeometryFromWkt('Point Z (2 2 -15)'))
lyr.CreateFeature(f)
f = ogr.Feature(lyr.GetLayerDefn())
f.SetFID(3)
f.SetGeometry(ogr.CreateGeometryFromWkt('Point Z (3 3 5)'))
lyr.CreateFeature(f)
f = ogr.Feature(lyr.GetLayerDefn())
f.SetFID(4)
f.SetGeometry(ogr.CreateGeometryFromWkt('Point Z (4 4 10)'))
lyr.CreateFeature(f)
f = ogr.Feature(lyr.GetLayerDefn())
f.SetFID(5)
f.SetGeometry(ogr.CreateGeometryFromWkt('Point Z (5 5 15)'))
lyr.CreateFeature(f)
f = None
ds = None

# 2D points
Expand Down Expand Up @@ -647,7 +622,7 @@ def testExtentSqlite(self):
self.assertAlmostEqual(vl.extent3D().zMaximum(), 15.0, places=3)
del vl

vl = QgsVectorLayer(os.path.join(self.basetestpath, 'points_with_bad_z.sqlite'), 'test', 'ogr')
vl = QgsVectorLayer(os.path.join(self.basetestpath, 'points_z_empty.sqlite'), 'test', 'ogr')
self.assertTrue(vl.isValid())

self.assertTrue(math.isnan(vl.extent().xMinimum()))
Expand Down

0 comments on commit b7bfdda

Please sign in to comment.