@@ -24,26 +24,27 @@ class TestProc(unittest.TestCase):
2424 def setUpClass (cls ) -> None :
2525 uri = "point?crs=epsg:4326"
2626 cls .point_layer_1 = QgsVectorLayer (uri , "Scratch point layer" , "memory" )
27- points_of_interest = [QgsPointXY (- 118.2394 , 34.0739 ), QgsPointXY (- 118.3215 , 34.1399 )]
27+ points_of_interest = [QgsPointXY (8.6724 , 49.3988 ), QgsPointXY (8.6908 , 49.4094 )]
2828 for point in points_of_interest :
2929 feature = QgsFeature ()
3030 feature .setGeometry (QgsGeometry .fromPointXY (point ))
31- cls .point_layer_1 .dataProvider ().addFeatures ([ feature ] )
31+ cls .point_layer_1 .dataProvider ().addFeature ( feature )
3232
3333 cls .point_layer_2 = QgsVectorLayer (uri , "Scratch point layer" , "memory" )
34- points_of_interest = [QgsPointXY (- 118.5 , 34.2 ), QgsPointXY (- 118.5 , 34.3 )]
34+ points_of_interest = [QgsPointXY (8.4660 , 49.4875 ), QgsPointXY (8.4796 , 49.4978 )]
3535 for point in points_of_interest :
3636 feature = QgsFeature ()
3737 feature .setGeometry (QgsGeometry .fromPointXY (point ))
38- cls .point_layer_2 .dataProvider ().addFeatures ([ feature ] )
38+ cls .point_layer_2 .dataProvider ().addFeature ( feature )
3939
40+ uri = "linestring?crs=epsg:4326"
4041 cls .line_layer = QgsVectorLayer (uri , "Scratch point layer" , "memory" )
41- vertices = [(- 118.2394 , 34.0739 ), (- 118.3215 , 34.1341 ), (- 118.4961 , 34.5 )]
42+ vertices = [(8.6724 , 49.3988 ), (8.7165 , 49.4106 ), (8.6947 , 49.4178 )]
4243 line_geometry = QgsGeometry .fromPolylineXY ([QgsPointXY (x , y ) for x , y in vertices ])
4344 feature = QgsFeature ()
4445 feature .setGeometry (line_geometry )
45- cls .line_layer .dataProvider ().addFeatures ([ feature ] )
46-
46+ cls .line_layer .dataProvider ().addFeature ( feature )
47+
4748 lower_left = QgsPointXY (8.45 , 48.85 )
4849 upper_right = QgsPointXY (8.46 , 48.86 )
4950 cls .bbox = QgsRectangle (lower_left , upper_right )
@@ -63,8 +64,6 @@ def test_directions_lines(self):
6364 "INPUT_PREFERENCE" : 0 ,
6465 "INPUT_PROFILE" : 0 ,
6566 "INPUT_PROVIDER" : 0 ,
66- "INPUT_METRIC" : 0 ,
67- "LOCATION_TYPE" : 0 ,
6867 "OUTPUT" : "TEMPORARY_OUTPUT" ,
6968 }
7069
@@ -74,6 +73,9 @@ def test_directions_lines(self):
7473
7574 self .assertEqual (type (processed_layer ), QgsVectorLayer )
7675
76+ feat_length = next (processed_layer .getFeatures ()).geometry ().length ()
77+ self .assertTrue (feat_length > 0 )
78+
7779 def test_directions_points_layer (self ):
7880 parameters = {
7981 "INPUT_AVOID_BORDERS" : None ,
@@ -96,6 +98,9 @@ def test_directions_points_layer(self):
9698
9799 self .assertEqual (type (processed_layer ), QgsVectorLayer )
98100
101+ feat_length = next (processed_layer .getFeatures ()).geometry ().length ()
102+ self .assertTrue (feat_length > 0 )
103+
99104 def test_directions_points_layers (self ):
100105 parameters = {
101106 "INPUT_AVOID_BORDERS" : None ,
@@ -121,6 +126,9 @@ def test_directions_points_layers(self):
121126
122127 self .assertEqual (type (processed_layer ), QgsVectorLayer )
123128
129+ feat_length = next (processed_layer .getFeatures ()).geometry ().length ()
130+ self .assertTrue (feat_length > 0 )
131+
124132 def test_isochrones_layer (self ):
125133 parameters = {
126134 "INPUT_AVOID_BORDERS" : None ,
@@ -144,6 +152,9 @@ def test_isochrones_layer(self):
144152
145153 self .assertEqual (type (processed_layer ), QgsVectorLayer )
146154
155+ feat_area = next (processed_layer .getFeatures ()).geometry ().area ()
156+ self .assertTrue (feat_area > 0 )
157+
147158 def test_isochrones_point (self ):
148159 parameters = {
149160 "INPUT_AVOID_BORDERS" : None ,
@@ -166,6 +177,12 @@ def test_isochrones_point(self):
166177
167178 self .assertEqual (type (processed_layer ), QgsVectorLayer )
168179
180+ feats = processed_layer .getFeatures ()
181+ feat_areas = [feat .geometry ().area () for feat in feats ]
182+ self .assertTrue (feat_areas [0 ] > 0 )
183+ # TODO: This is the wrong way around, because polygon order in isochrones is inverted.
184+ self .assertTrue (feat_areas [0 ] > feat_areas [1 ])
185+
169186 def test_matrix (self ):
170187 parameters = {
171188 "INPUT_END_FIELD" : None ,
@@ -183,21 +200,30 @@ def test_matrix(self):
183200
184201 self .assertEqual (type (processed_layer ), QgsVectorLayer )
185202
186- def test_export (self ):
187- parameters = {
188- "INPUT_PROVIDER" : 0 ,
189- "INPUT_PROFILE" : 0 ,
190- "INPUT_EXPORT" : self .bbox ,
191- "OUTPUT_POINT" : "TEMPORARY_OUTPUT" ,
192- "OUTPUT" : "TEMPORARY_OUTPUT" ,
193- }
194-
195- export = ORSExportAlgo ().create ()
196- dest_id = export .processAlgorithm (parameters , self .context , self .feedback )
197- processed_layer = QgsProcessingUtils .mapLayerFromString (dest_id ["OUTPUT" ], self .context )
198- processed_nodes = QgsProcessingUtils .mapLayerFromString (
199- dest_id ["OUTPUT_POINT" ], self .context
200- )
201-
202- self .assertEqual (type (processed_layer ), QgsVectorLayer )
203- self .assertEqual (type (processed_nodes ), QgsVectorLayer )
203+ feat = next (processed_layer .getFeatures ())
204+ self .assertTrue (feat .attributes ()[2 ] > 0 )
205+
206+ # def test_export(self):
207+ # parameters = {
208+ # "INPUT_PROVIDER": 0,
209+ # "INPUT_PROFILE": 0,
210+ # "INPUT_EXPORT": self.bbox,
211+ # "OUTPUT_POINT": "TEMPORARY_OUTPUT",
212+ # "OUTPUT": "TEMPORARY_OUTPUT",
213+ # }
214+ #
215+ # export = ORSExportAlgo().create()
216+ # dest_id = export.processAlgorithm(parameters, self.context, self.feedback)
217+ # processed_layer = QgsProcessingUtils.mapLayerFromString(dest_id["OUTPUT"], self.context)
218+ # processed_nodes = QgsProcessingUtils.mapLayerFromString(
219+ # dest_id["OUTPUT_POINT"], self.context)
220+ # )
221+ #
222+ # self.assertEqual(type(processed_layer), QgsVectorLayer)
223+ # self.assertEqual(type(processed_nodes), QgsVectorLayer)
224+ #
225+ # feat_point = next(processed_layer.getFeatures())
226+ # self.assertTrue(feat_point.hasGeometry())
227+ # feat_line = next(processed_nodes.getFeatures())
228+ # self.assertTrue(feat_line.hasGeometry())
229+
0 commit comments