def test_analysis_wizard(self): """Test Analysis Wizard.""" dialog = WizardDialog(iface=IFACE) dialog.dock = self.dock dialog.set_function_centric_mode() QgsProject.instance().removeAllMapLayers() number_of_column = len(hazard_all) volcano_layer = load_test_vector_layer( 'hazard', 'volcano_krb.shp', clone=True) structure_layer = load_test_vector_layer( 'exposure', 'buildings.gpkg', clone=True) test_layers = [volcano_layer, structure_layer] QgsProject.instance().addMapLayers(test_layers) # Need to set the layers manually to map canvas. See: # https://gist.github.com/ismailsunni/dd2c30a38cef0147bd0dc8d6ba1aeac6 qgs_map_canvas_layers = test_layers CANVAS.setLayers(qgs_map_canvas_layers) count = len(dialog.iface.mapCanvas().layers()) self.assertEqual(count, len(test_layers)) # step_fc_functions1: test function matrix dimensions col_count = dialog.step_fc_functions1.tblFunctions1.columnCount() self.assertEqual(col_count, number_of_column) row_count = dialog.step_fc_functions1.tblFunctions1.rowCount() self.assertEqual(row_count, len(exposure_all)) # Select Volcano vs Structure volcano_index = hazard_all.index(hazard_volcano) structure_index = exposure_all.index(exposure_structure) dialog.step_fc_functions1.tblFunctions1.setCurrentCell( structure_index, volcano_index) selected_hazard = dialog.step_fc_functions1.selected_value( layer_purpose_hazard['key']) selected_exposure = dialog.step_fc_functions1.selected_value( layer_purpose_exposure['key']) self.assertEqual(selected_hazard, hazard_volcano) self.assertEqual(selected_exposure, exposure_structure) # step_fc_functions1: press next dialog.pbnNext.click() # step_fc_functions2 # Check in the correct step self.check_current_step(dialog.step_fc_functions2) hazard_polygon_index = get_allowed_geometries( layer_purpose_hazard['key']).index(layer_geometry_polygon) exposure_polygon_index = get_allowed_geometries( layer_purpose_exposure['key']).index(layer_geometry_polygon) dialog.step_fc_functions2.tblFunctions2.setCurrentCell( exposure_polygon_index, hazard_polygon_index) selected_hazard_geometry = dialog.step_fc_functions2.selected_value( layer_purpose_hazard['key']) selected_exposure_geometry = dialog.step_fc_functions2.selected_value( layer_purpose_exposure['key']) self.assertEqual(selected_hazard_geometry, layer_geometry_polygon) self.assertEqual(selected_exposure_geometry, layer_geometry_polygon) # step_fc_functions2: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_hazlayer_origin) # step hazard origin: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_hazlayer_from_canvas) # Check the number of layer in the list self.assertEqual( dialog.step_fc_hazlayer_from_canvas.lstCanvasHazLayers.count(), 1) # step hazard from canvas: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_explayer_origin) # step exposure origin: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_explayer_from_canvas) # Check the number of layer in the list self.assertEqual( dialog.step_fc_explayer_from_canvas.lstCanvasExpLayers.count(), 1) # step exposure from canvas: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_agglayer_origin) # Check no aggregation dialog.step_fc_agglayer_origin.rbAggLayerNoAggregation.setChecked(True) # step aggregation origin: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_summary) # step extent: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_analysis)
def test_analysis_wizard(self): """Test Analysis Wizard.""" dialog = WizardDialog(iface=IFACE) dialog.dock = self.dock dialog.set_function_centric_mode() QgsMapLayerRegistry.instance().removeAllMapLayers() number_of_column = len(hazard_all) volcano_layer = load_test_vector_layer( 'hazard', 'volcano_krb.shp', clone=True) structure_layer = load_test_vector_layer( 'exposure', 'buildings.shp', clone=True) test_layers = [volcano_layer, structure_layer] QgsMapLayerRegistry.instance().addMapLayers(test_layers) # Need to set the layers manually to map canvas. See: # https://gist.github.com/ismailsunni/dd2c30a38cef0147bd0dc8d6ba1aeac6 qgs_map_canvas_layers = [QgsMapCanvasLayer(x) for x in test_layers] CANVAS.setLayerSet(qgs_map_canvas_layers) count = len(dialog.iface.mapCanvas().layers()) self.assertEqual(count, len(test_layers)) # step_fc_functions1: test function matrix dimensions col_count = dialog.step_fc_functions1.tblFunctions1.columnCount() self.assertEqual(col_count, number_of_column) row_count = dialog.step_fc_functions1.tblFunctions1.rowCount() self.assertEqual(row_count, len(exposure_all)) # Select Volcano vs Structure volcano_index = hazard_all.index(hazard_volcano) structure_index = exposure_all.index(exposure_structure) dialog.step_fc_functions1.tblFunctions1.setCurrentCell( structure_index, volcano_index) selected_hazard = dialog.step_fc_functions1.selected_value( layer_purpose_hazard['key']) selected_exposure = dialog.step_fc_functions1.selected_value( layer_purpose_exposure['key']) self.assertEqual(selected_hazard, hazard_volcano) self.assertEqual(selected_exposure, exposure_structure) # step_fc_functions1: press next dialog.pbnNext.click() # step_fc_functions2 # Check in the correct step self.check_current_step(dialog.step_fc_functions2) hazard_polygon_index = get_allowed_geometries( layer_purpose_hazard['key']).index(layer_geometry_polygon) exposure_polygon_index = get_allowed_geometries( layer_purpose_exposure['key']).index(layer_geometry_polygon) dialog.step_fc_functions2.tblFunctions2.setCurrentCell( exposure_polygon_index, hazard_polygon_index) selected_hazard_geometry = dialog.step_fc_functions2.selected_value( layer_purpose_hazard['key']) selected_exposure_geometry = dialog.step_fc_functions2.selected_value( layer_purpose_exposure['key']) self.assertEqual(selected_hazard_geometry, layer_geometry_polygon) self.assertEqual(selected_exposure_geometry, layer_geometry_polygon) # step_fc_functions2: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_hazlayer_origin) # step hazard origin: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_hazlayer_from_canvas) # Check the number of layer in the list self.assertEqual( dialog.step_fc_hazlayer_from_canvas.lstCanvasHazLayers.count(), 1) # step hazard from canvas: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_explayer_origin) # step exposure origin: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_explayer_from_canvas) # Check the number of layer in the list self.assertEqual( dialog.step_fc_explayer_from_canvas.lstCanvasExpLayers.count(), 1) # step exposure from canvas: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_agglayer_origin) # Check no aggregation dialog.step_fc_agglayer_origin.rbAggLayerNoAggregation.setChecked(True) # step aggregation origin: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_summary) # step extent: press next dialog.pbnNext.click() # Check in the correct step self.check_current_step(dialog.step_fc_analysis)