@@ -280,21 +280,23 @@ def testMinValue(self):
280
280
self .assertEqual (self .source .minimumValue (1 ), - 200 )
281
281
self .assertEqual (self .source .minimumValue (2 ), 'Apple' )
282
282
283
- subset = self .getSubsetString ()
284
- self .source .setSubsetString (subset )
285
- min_value = self .source .minimumValue (1 )
286
- self .source .setSubsetString (None )
287
- self .assertEqual (min_value , 200 )
283
+ if self .source .supportsSubsetString ():
284
+ subset = self .getSubsetString ()
285
+ self .source .setSubsetString (subset )
286
+ min_value = self .source .minimumValue (1 )
287
+ self .source .setSubsetString (None )
288
+ self .assertEqual (min_value , 200 )
288
289
289
290
def testMaxValue (self ):
290
291
self .assertEqual (self .source .maximumValue (1 ), 400 )
291
292
self .assertEqual (self .source .maximumValue (2 ), 'Pear' )
292
293
293
- subset = self .getSubsetString2 ()
294
- self .source .setSubsetString (subset )
295
- max_value = self .source .maximumValue (1 )
296
- self .source .setSubsetString (None )
297
- self .assertEqual (max_value , 300 )
294
+ if self .source .supportsSubsetString ():
295
+ subset = self .getSubsetString2 ()
296
+ self .source .setSubsetString (subset )
297
+ max_value = self .source .maximumValue (1 )
298
+ self .source .setSubsetString (None )
299
+ self .assertEqual (max_value , 300 )
298
300
299
301
def testExtent (self ):
300
302
reference = QgsGeometry .fromRect (
@@ -305,36 +307,38 @@ def testExtent(self):
305
307
self .assertAlmostEqual (provider_extent .yMinimum (), 66.33 , 3 )
306
308
self .assertAlmostEqual (provider_extent .yMaximum (), 78.3 , 3 )
307
309
308
- # with only one point
309
- subset = self .getSubsetString3 ()
310
- self .source .setSubsetString (subset )
311
- count = self .source .featureCount ()
312
- provider_extent = self .source .extent ()
313
- self .source .setSubsetString (None )
314
- self .assertEqual (count , 1 )
315
- self .assertAlmostEqual (provider_extent .xMinimum (), - 68.2 , 3 )
316
- self .assertAlmostEqual (provider_extent .xMaximum (), - 68.2 , 3 )
317
- self .assertAlmostEqual (provider_extent .yMinimum (), 70.8 , 3 )
318
- self .assertAlmostEqual (provider_extent .yMaximum (), 70.8 , 3 )
319
-
320
- # with no points
321
- subset = self .getSubsetStringNoMatching ()
322
- self .source .setSubsetString (subset )
323
- count = self .source .featureCount ()
324
- provider_extent = self .source .extent ()
325
- self .source .setSubsetString (None )
326
- self .assertEqual (count , 0 )
327
- self .assertTrue (provider_extent .isNull ())
310
+ if self .source .supportsSubsetString ():
311
+ # with only one point
312
+ subset = self .getSubsetString3 ()
313
+ self .source .setSubsetString (subset )
314
+ count = self .source .featureCount ()
315
+ provider_extent = self .source .extent ()
316
+ self .source .setSubsetString (None )
317
+ self .assertEqual (count , 1 )
318
+ self .assertAlmostEqual (provider_extent .xMinimum (), - 68.2 , 3 )
319
+ self .assertAlmostEqual (provider_extent .xMaximum (), - 68.2 , 3 )
320
+ self .assertAlmostEqual (provider_extent .yMinimum (), 70.8 , 3 )
321
+ self .assertAlmostEqual (provider_extent .yMaximum (), 70.8 , 3 )
322
+
323
+ # with no points
324
+ subset = self .getSubsetStringNoMatching ()
325
+ self .source .setSubsetString (subset )
326
+ count = self .source .featureCount ()
327
+ provider_extent = self .source .extent ()
328
+ self .source .setSubsetString (None )
329
+ self .assertEqual (count , 0 )
330
+ self .assertTrue (provider_extent .isNull ())
328
331
329
332
def testUnique (self ):
330
333
self .assertEqual (set (self .source .uniqueValues (1 )), set ([- 200 , 100 , 200 , 300 , 400 ]))
331
334
assert set (['Apple' , 'Honey' , 'Orange' , 'Pear' , NULL ]) == set (self .source .uniqueValues (2 )), 'Got {}' .format (set (self .source .uniqueValues (2 )))
332
335
333
- subset = self .getSubsetString2 ()
334
- self .source .setSubsetString (subset )
335
- values = self .source .uniqueValues (1 )
336
- self .source .setSubsetString (None )
337
- self .assertEqual (set (values ), set ([200 , 300 ]))
336
+ if self .source .supportsSubsetString ():
337
+ subset = self .getSubsetString2 ()
338
+ self .source .setSubsetString (subset )
339
+ values = self .source .uniqueValues (1 )
340
+ self .source .setSubsetString (None )
341
+ self .assertEqual (set (values ), set ([200 , 300 ]))
338
342
339
343
def testUniqueStringsMatching (self ):
340
344
self .assertEqual (set (self .source .uniqueStringsMatching (2 , 'a' )), set (['Pear' , 'Orange' , 'Apple' ]))
@@ -349,38 +353,40 @@ def testUniqueStringsMatching(self):
349
353
350
354
assert set ([u'Apple' , u'Honey' , u'Orange' , u'Pear' , NULL ]) == set (self .source .uniqueValues (2 )), 'Got {}' .format (set (self .source .uniqueValues (2 )))
351
355
352
- subset = self .getSubsetString2 ()
353
- self .source .setSubsetString (subset )
354
- values = self .source .uniqueStringsMatching (2 , 'a' )
355
- self .source .setSubsetString (None )
356
- self .assertEqual (set (values ), set (['Pear' , 'Apple' ]))
356
+ if self .source .supportsSubsetString ():
357
+ subset = self .getSubsetString2 ()
358
+ self .source .setSubsetString (subset )
359
+ values = self .source .uniqueStringsMatching (2 , 'a' )
360
+ self .source .setSubsetString (None )
361
+ self .assertEqual (set (values ), set (['Pear' , 'Apple' ]))
357
362
358
363
def testFeatureCount (self ):
359
364
self .assertEqual (self .source .featureCount (), 5 )
360
365
361
- #Add a subset string and test feature count
362
- subset = self .getSubsetString ()
363
- self .source .setSubsetString (subset )
364
- count = self .source .featureCount ()
365
- self .source .setSubsetString (None )
366
- self .assertEqual (count , 3 )
367
- self .assertEqual (self .source .featureCount (), 5 )
368
-
369
- # one matching records
370
- subset = self .getSubsetString3 ()
371
- self .source .setSubsetString (subset )
372
- count = self .source .featureCount ()
373
- self .source .setSubsetString (None )
374
- self .assertEqual (count , 1 )
375
- self .assertEqual (self .source .featureCount (), 5 )
376
-
377
- # no matching records
378
- subset = self .getSubsetStringNoMatching ()
379
- self .source .setSubsetString (subset )
380
- count = self .source .featureCount ()
381
- self .source .setSubsetString (None )
382
- self .assertEqual (count , 0 )
383
- self .assertEqual (self .source .featureCount (), 5 )
366
+ if self .source .supportsSubsetString ():
367
+ #Add a subset string and test feature count
368
+ subset = self .getSubsetString ()
369
+ self .source .setSubsetString (subset )
370
+ count = self .source .featureCount ()
371
+ self .source .setSubsetString (None )
372
+ self .assertEqual (count , 3 )
373
+ self .assertEqual (self .source .featureCount (), 5 )
374
+
375
+ # one matching records
376
+ subset = self .getSubsetString3 ()
377
+ self .source .setSubsetString (subset )
378
+ count = self .source .featureCount ()
379
+ self .source .setSubsetString (None )
380
+ self .assertEqual (count , 1 )
381
+ self .assertEqual (self .source .featureCount (), 5 )
382
+
383
+ # no matching records
384
+ subset = self .getSubsetStringNoMatching ()
385
+ self .source .setSubsetString (subset )
386
+ count = self .source .featureCount ()
387
+ self .source .setSubsetString (None )
388
+ self .assertEqual (count , 0 )
389
+ self .assertEqual (self .source .featureCount (), 5 )
384
390
385
391
def testGetFeaturesNoGeometry (self ):
386
392
""" Test that no geometry is present when fetching features without geometry"""
0 commit comments