@@ -249,6 +249,10 @@ def providerCompatibleOfSubsetStringWithStableFID(self):
249
249
The WFS provider might not always be able to have that guarantee. """
250
250
return True
251
251
252
+ def referenceExtent (self ):
253
+ """ Extent of the reference dataset """
254
+ return QgsRectangle (- 71.123 , 66.33 , - 65.32 , 78.3 )
255
+
252
256
def getSubsetString (self ):
253
257
"""Individual providers may need to override this depending on their subset string formats"""
254
258
return '"cnt" > 100 and "cnt" < 410'
@@ -257,6 +261,10 @@ def getSubsetString2(self):
257
261
"""Individual providers may need to override this depending on their subset string formats"""
258
262
return '"cnt" > 100 and "cnt" < 400'
259
263
264
+ def referenceSubsetString3Extent (self ):
265
+ """ Extent of the data selected by subset string 3 """
266
+ return QgsRectangle (- 68.2 , 70.8 , - 68.2 , 70.8 )
267
+
260
268
def getSubsetString3 (self ):
261
269
"""Individual providers may need to override this depending on their subset string formats"""
262
270
return '"name"=\' Apple\' '
@@ -422,13 +430,12 @@ def testMaxValue(self):
422
430
self .assertEqual (max_value , 300 )
423
431
424
432
def testExtent (self ):
425
- reference = QgsGeometry .fromRect (
426
- QgsRectangle (- 71.123 , 66.33 , - 65.32 , 78.3 ))
433
+ reference_extent = self .referenceExtent ()
427
434
provider_extent = self .source .extent ()
428
- self .assertAlmostEqual (provider_extent .xMinimum (), - 71.123 , 3 )
429
- self .assertAlmostEqual (provider_extent .xMaximum (), - 65.32 , 3 )
430
- self .assertAlmostEqual (provider_extent .yMinimum (), 66.33 , 3 )
431
- self .assertAlmostEqual (provider_extent .yMaximum (), 78.3 , 3 )
435
+ self .assertAlmostEqual (provider_extent .xMinimum (), reference_extent . xMinimum () )
436
+ self .assertAlmostEqual (provider_extent .xMaximum (), reference_extent . xMaximum () )
437
+ self .assertAlmostEqual (provider_extent .yMinimum (), reference_extent . yMinimum () )
438
+ self .assertAlmostEqual (provider_extent .yMaximum (), reference_extent . yMaximum () )
432
439
433
440
def testExtentSubsetString (self ):
434
441
if self .source .supportsSubsetString ():
@@ -437,12 +444,13 @@ def testExtentSubsetString(self):
437
444
self .source .setSubsetString (subset )
438
445
count = self .source .featureCount ()
439
446
provider_extent = self .source .extent ()
447
+ subset_extent = self .referenceSubsetString3Extent ()
440
448
self .source .setSubsetString (None )
441
449
self .assertEqual (count , 1 )
442
- self .assertAlmostEqual (provider_extent .xMinimum (), - 68.2 , 3 )
443
- self .assertAlmostEqual (provider_extent .xMaximum (), - 68.2 , 3 )
444
- self .assertAlmostEqual (provider_extent .yMinimum (), 70.8 , 3 )
445
- self .assertAlmostEqual (provider_extent .yMaximum (), 70.8 , 3 )
450
+ self .assertAlmostEqual (provider_extent .xMinimum (), subset_extent . xMinimum () , 3 )
451
+ self .assertAlmostEqual (provider_extent .xMaximum (), subset_extent . xMaximum () , 3 )
452
+ self .assertAlmostEqual (provider_extent .yMinimum (), subset_extent . yMinimum () , 3 )
453
+ self .assertAlmostEqual (provider_extent .yMaximum (), subset_extent . yMaximum () , 3 )
446
454
447
455
# with no points
448
456
subset = self .getSubsetStringNoMatching ()
0 commit comments