Skip to content

Commit 7d620e2

Browse files
committed
Make feature source/provider test handle additional fields
1 parent 922776b commit 7d620e2

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

tests/src/python/featuresourcetestbase.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -646,16 +646,16 @@ def testGetFeaturesWithGeometry(self):
646646
self.assertTrue(f.isValid())
647647

648648
def testUniqueValues(self):
649-
self.assertEqual(set(self.source.uniqueValues(1)), set([-200, 100, 200, 300, 400]))
650-
assert set(['Apple', 'Honey', 'Orange', 'Pear', NULL]) == set(self.source.uniqueValues(2)), 'Got {}'.format(set(self.source.uniqueValues(2)))
649+
self.assertEqual(set(self.source.uniqueValues(self.source.fields().lookupField('cnt'))), set([-200, 100, 200, 300, 400]))
650+
assert set(['Apple', 'Honey', 'Orange', 'Pear', NULL]) == set(self.source.uniqueValues(self.source.fields().lookupField('name'))), 'Got {}'.format(set(self.source.uniqueValues(self.source.fields().lookupField('name'))))
651651

652652
def testMinimumValue(self):
653-
self.assertEqual(self.source.minimumValue(1), -200)
654-
self.assertEqual(self.source.minimumValue(2), 'Apple')
653+
self.assertEqual(self.source.minimumValue(self.source.fields().lookupField('cnt')), -200)
654+
self.assertEqual(self.source.minimumValue(self.source.fields().lookupField('name')), 'Apple')
655655

656656
def testMaximumValue(self):
657-
self.assertEqual(self.source.maximumValue(1), 400)
658-
self.assertEqual(self.source.maximumValue(2), 'Pear')
657+
self.assertEqual(self.source.maximumValue(self.source.fields().lookupField('cnt')), 400)
658+
self.assertEqual(self.source.maximumValue(self.source.fields().lookupField('name')), 'Pear')
659659

660660
def testAllFeatureIds(self):
661661
ids = set([f.id() for f in self.source.getFeatures()])

tests/src/python/providertestbase.py

+15-14
Original file line numberDiff line numberDiff line change
@@ -277,24 +277,24 @@ def testGetFeaturesPolyFilterRectTests(self):
277277
assert set(features) == set([1, 2, 3, 4, 5]), 'Got {} instead'.format(features)
278278

279279
def testMinValue(self):
280-
self.assertEqual(self.source.minimumValue(1), -200)
281-
self.assertEqual(self.source.minimumValue(2), 'Apple')
280+
self.assertEqual(self.source.minimumValue(self.source.fields().lookupField('cnt')), -200)
281+
self.assertEqual(self.source.minimumValue(self.source.fields().lookupField('name')), 'Apple')
282282

283283
if self.source.supportsSubsetString():
284284
subset = self.getSubsetString()
285285
self.source.setSubsetString(subset)
286-
min_value = self.source.minimumValue(1)
286+
min_value = self.source.minimumValue(self.source.fields().lookupField('cnt'))
287287
self.source.setSubsetString(None)
288288
self.assertEqual(min_value, 200)
289289

290290
def testMaxValue(self):
291-
self.assertEqual(self.source.maximumValue(1), 400)
292-
self.assertEqual(self.source.maximumValue(2), 'Pear')
291+
self.assertEqual(self.source.maximumValue(self.source.fields().lookupField('cnt')), 400)
292+
self.assertEqual(self.source.maximumValue(self.source.fields().lookupField('name')), 'Pear')
293293

294294
if self.source.supportsSubsetString():
295295
subset = self.getSubsetString2()
296296
self.source.setSubsetString(subset)
297-
max_value = self.source.maximumValue(1)
297+
max_value = self.source.maximumValue(self.source.fields().lookupField('cnt'))
298298
self.source.setSubsetString(None)
299299
self.assertEqual(max_value, 300)
300300

@@ -330,28 +330,29 @@ def testExtent(self):
330330
self.assertTrue(provider_extent.isNull())
331331

332332
def testUnique(self):
333-
self.assertEqual(set(self.source.uniqueValues(1)), set([-200, 100, 200, 300, 400]))
334-
assert set(['Apple', 'Honey', 'Orange', 'Pear', NULL]) == set(self.source.uniqueValues(2)), 'Got {}'.format(set(self.source.uniqueValues(2)))
333+
self.assertEqual(set(self.source.uniqueValues(self.source.fields().lookupField('cnt'))), set([-200, 100, 200, 300, 400]))
334+
assert set(['Apple', 'Honey', 'Orange', 'Pear', NULL]) == set(self.source.uniqueValues(2)), 'Got {}'.format(set(self.source.uniqueValues(self.source.fields().lookupField('name'))))
335335

336336
if self.source.supportsSubsetString():
337337
subset = self.getSubsetString2()
338338
self.source.setSubsetString(subset)
339-
values = self.source.uniqueValues(1)
339+
values = self.source.uniqueValues(self.source.fields().lookupField('cnt'))
340340
self.source.setSubsetString(None)
341341
self.assertEqual(set(values), set([200, 300]))
342342

343343
def testUniqueStringsMatching(self):
344-
self.assertEqual(set(self.source.uniqueStringsMatching(2, 'a')), set(['Pear', 'Orange', 'Apple']))
344+
field_index = self.source.fields().lookupField('name')
345+
self.assertEqual(set(self.source.uniqueStringsMatching(field_index, 'a')), set(['Pear', 'Orange', 'Apple']))
345346
# test case insensitive
346-
self.assertEqual(set(self.source.uniqueStringsMatching(2, 'A')), set(['Pear', 'Orange', 'Apple']))
347+
self.assertEqual(set(self.source.uniqueStringsMatching(field_index, 'A')), set(['Pear', 'Orange', 'Apple']))
347348
# test string ending in substring
348-
self.assertEqual(set(self.source.uniqueStringsMatching(2, 'ney')), set(['Honey']))
349+
self.assertEqual(set(self.source.uniqueStringsMatching(field_index, 'ney')), set(['Honey']))
349350
# test limit
350-
result = set(self.source.uniqueStringsMatching(2, 'a', 2))
351+
result = set(self.source.uniqueStringsMatching(field_index, 'a', 2))
351352
self.assertEqual(len(result), 2)
352353
self.assertTrue(result.issubset(set(['Pear', 'Orange', 'Apple'])))
353354

354-
assert set([u'Apple', u'Honey', u'Orange', u'Pear', NULL]) == set(self.source.uniqueValues(2)), 'Got {}'.format(set(self.source.uniqueValues(2)))
355+
assert set([u'Apple', u'Honey', u'Orange', u'Pear', NULL]) == set(self.source.uniqueValues(field_index)), 'Got {}'.format(set(self.source.uniqueValues(field_index)))
355356

356357
if self.source.supportsSubsetString():
357358
subset = self.getSubsetString2()

tests/src/python/test_qgsfeaturesource.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def testMinValues(self):
7575
layer = createLayerWithFivePoints()
7676
self.assertFalse(layer.dataProvider().minimumValue(-1))
7777
self.assertFalse(layer.dataProvider().minimumValue(100))
78-
self.assertEqual(layer.dataProvider().minimumValue(1), 'test')
78+
self.assertEqual(layer.dataProvider().minimumValue(layer.dataProvider().fields().lookupField('cnt')), 'test')
7979
self.assertEqual(layer.dataProvider().minimumValue(2), 1)
8080

8181
def testMaxValues(self):

0 commit comments

Comments
 (0)