@@ -120,6 +120,29 @@ def testGetFeaturesCompiled(self):
120
120
except AttributeError :
121
121
print 'Provider does not support compiling'
122
122
123
+ def testGetFeaturesFidTests (self ):
124
+ fids = [f .id () for f in self .provider .getFeatures ()]
125
+ assert len (fids ) == 5 , 'Expected 5 features, got {} instead' .format (len (fids ))
126
+ for id in fids :
127
+ result = [f .id () for f in self .provider .getFeatures (QgsFeatureRequest ().setFilterFid (id ))]
128
+ expected = [id ]
129
+ assert result == expected , 'Expected {} and got {} when testing for feature ID filter' .format (expected , result )
130
+
131
+ def testGetFeaturesFidsTests (self ):
132
+ fids = [f .id () for f in self .provider .getFeatures ()]
133
+
134
+ result = set ([f .id () for f in self .provider .getFeatures (QgsFeatureRequest ().setFilterFids ([fids [0 ], fids [2 ]]))])
135
+ expected = set ([fids [0 ], fids [2 ]])
136
+ assert result == expected , 'Expected {} and got {} when testing for feature IDs filter' .format (expected , result )
137
+
138
+ result = set ([f .id () for f in self .provider .getFeatures (QgsFeatureRequest ().setFilterFids ([fids [1 ], fids [3 ], fids [4 ]]))])
139
+ expected = set ([fids [1 ], fids [3 ], fids [4 ]])
140
+ assert result == expected , 'Expected {} and got {} when testing for feature IDs filter' .format (expected , result )
141
+
142
+ result = set ([f .id () for f in self .provider .getFeatures (QgsFeatureRequest ().setFilterFids ([]))])
143
+ expected = set ([])
144
+ assert result == expected , 'Expected {} and got {} when testing for feature IDs filter' .format (expected , result )
145
+
123
146
def testGetFeaturesFilterRectTests (self ):
124
147
extent = QgsRectangle (- 70 , 67 , - 60 , 80 )
125
148
features = [f ['pk' ] for f in self .provider .getFeatures (QgsFeatureRequest ().setFilterRect (extent ))]
0 commit comments