Skip to content

Commit fc81e81

Browse files
strknyalldawson
authored andcommittedOct 23, 2023
Reduce use of magic numbers in provider tests
Expose these methods: - referenceExtent() - referenceSubsetString3Extent()
1 parent 515f625 commit fc81e81

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed
 

‎tests/src/python/providertestbase.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,10 @@ def providerCompatibleOfSubsetStringWithStableFID(self):
249249
The WFS provider might not always be able to have that guarantee. """
250250
return True
251251

252+
def referenceExtent(self):
253+
""" Extent of the reference dataset """
254+
return QgsRectangle(-71.123, 66.33, -65.32, 78.3)
255+
252256
def getSubsetString(self):
253257
"""Individual providers may need to override this depending on their subset string formats"""
254258
return '"cnt" > 100 and "cnt" < 410'
@@ -257,6 +261,10 @@ def getSubsetString2(self):
257261
"""Individual providers may need to override this depending on their subset string formats"""
258262
return '"cnt" > 100 and "cnt" < 400'
259263

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+
260268
def getSubsetString3(self):
261269
"""Individual providers may need to override this depending on their subset string formats"""
262270
return '"name"=\'Apple\''
@@ -422,13 +430,12 @@ def testMaxValue(self):
422430
self.assertEqual(max_value, 300)
423431

424432
def testExtent(self):
425-
reference = QgsGeometry.fromRect(
426-
QgsRectangle(-71.123, 66.33, -65.32, 78.3))
433+
reference_extent = self.referenceExtent()
427434
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())
432439

433440
def testExtentSubsetString(self):
434441
if self.source.supportsSubsetString():
@@ -437,12 +444,13 @@ def testExtentSubsetString(self):
437444
self.source.setSubsetString(subset)
438445
count = self.source.featureCount()
439446
provider_extent = self.source.extent()
447+
subset_extent = self.referenceSubsetString3Extent()
440448
self.source.setSubsetString(None)
441449
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)
446454

447455
# with no points
448456
subset = self.getSubsetStringNoMatching()

0 commit comments

Comments
 (0)
Please sign in to comment.