def test_available_hazard_constraints(self): """Test for available_hazard_constraints.""" impact_function = ITBFatalityFunction() result = impact_function.metadata().available_hazard_constraints( 'earthquake', 'single_event') expected = [(layer_mode_continuous, layer_geometry_raster)] self.assertItemsEqual(result, expected)
def test_available_exposure_layer_mode(self): """Test for available_exposure_layer_mode.""" impact_function = ITBFatalityFunction() result = impact_function.metadata().available_exposure_layer_mode( 'population', 'raster') expected = layer_mode_continuous self.assertEqual(result, expected)
def test_available_exposure_constraints(self): """Test for available_exposure_constraints.""" impact_function = ITBFatalityFunction() result = impact_function.metadata().available_exposure_constraints( 'population') expected = [(layer_mode_continuous, layer_geometry_raster)] self.assertItemsEqual(result, expected)
def test_is_valid(self): """Test is_valid.""" impact_functions = [ # Earthquake EarthquakeBuildingFunction(), ITBFatalityFunction(), PAGFatalityFunction(), # Generic ClassifiedPolygonHazardBuildingFunction(), ClassifiedPolygonHazardPopulationFunction(), ClassifiedRasterHazardBuildingFunction(), ClassifiedRasterHazardPopulationFunction(), ContinuousHazardPopulationFunction(), # Inundation FloodEvacuationVectorHazardFunction(), FloodPolygonRoadsFunction(), FloodRasterBuildingFunction(), FloodEvacuationRasterHazardFunction(), FloodRasterRoadsFunction(), FloodPolygonBuildingFunction(), TsunamiEvacuationFunction(), # Volcanic VolcanoPointBuildingFunction(), VolcanoPointPopulationFunction(), VolcanoPolygonBuildingFunction(), VolcanoPolygonPopulationFunction() ] for impact_function in impact_functions: valid = impact_function.metadata().is_valid() impact_function_name = impact_function.__class__.__name__ message = '%s is invalid because %s' % (impact_function_name, valid[1]) self.assertTrue(valid[0], message) if valid[0]: print '%s has a valid metadata.' % impact_function_name
def test_available_hazard_layer_mode(self): """Test for available_hazard_layer_mode.""" impact_function = ITBFatalityFunction() result = impact_function.metadata().available_hazard_layer_mode( 'earthquake', 'raster', 'single_event') expected = layer_mode_continuous self.assertEqual(result, expected)
def test_available_hazards(self): """Test available_hazards.""" impact_function = ITBFatalityFunction() hazards = impact_function.metadata().available_hazards('single_event') expected = [hazard_earthquake] self.assertItemsEqual(hazards, expected) hazards = impact_function.metadata().available_hazards( 'multiple_event') expected = [hazard_earthquake] self.assertItemsEqual(hazards, expected)
def test_is_valid(self): """Test is_valid.""" impact_functions = [ # Earthquake EarthquakeBuildingFunction(), ITBFatalityFunction(), PAGFatalityFunction(), ITBBayesianFatalityFunction(), # Generic ClassifiedPolygonHazardBuildingFunction(), ClassifiedPolygonHazardLandCoverFunction(), ClassifiedPolygonHazardPopulationFunction(), ClassifiedPolygonHazardPolygonPeopleFunction(), ClassifiedRasterHazardBuildingFunction(), ClassifiedRasterHazardPopulationFunction(), ContinuousHazardPopulationFunction(), # Inundation FloodEvacuationVectorHazardFunction(), FloodPolygonRoadsFunction(), FloodRasterBuildingFunction(), FloodEvacuationRasterHazardFunction(), FloodRasterRoadsFunction(), FloodPolygonBuildingFunction(), # Tsunami TsunamiEvacuationFunction(), TsunamiRasterRoadsFunction(), TsunamiRasterLandcoverFunction(), TsunamiRasterBuildingFunction(), # Volcanic VolcanoPointBuildingFunction(), VolcanoPointPopulationFunction(), VolcanoPolygonBuildingFunction(), VolcanoPolygonPopulationFunction(), # Volcanic Ash AshRasterLandCoverFunction(), AshRasterPlacesFunction(), AshRasterPopulationFunction() ] self.assertEqual(len(impact_functions), len(EXPECTED_IF)) for impact_function in impact_functions: valid = impact_function.metadata().is_valid() impact_function_name = impact_function.__class__.__name__ message = '%s is invalid because %s' % (impact_function_name, valid[1]) self.assertTrue(valid[0], message) if valid[0]: # print '%s has a valid metadata.' % impact_function_name continue
def test_exposure_units_for_layer(self): """Test exposure_units_for_layer.""" impact_function = ITBFatalityFunction() exposure_units = impact_function.metadata().exposure_units_for_layer( 'population', 'raster', 'continuous') expected = [count_exposure_unit] self.assertItemsEqual(exposure_units, expected) exposure_units = impact_function.metadata().exposure_units_for_layer( 'population', 'raster', 'classified') expected = [] self.assertItemsEqual(exposure_units, expected)
def test_continuous_hazards_units_for_layer(self): """Test continuous_hazards_units_for_layer.""" impact_function = ITBFatalityFunction() continuous_hazards_units = impact_function.metadata().\ continuous_hazards_units_for_layer( 'earthquake', 'raster', 'continuous', 'single_event') expected = [unit_mmi] self.assertItemsEqual(continuous_hazards_units, expected) continuous_hazards_units = impact_function.metadata().\ continuous_hazards_units_for_layer( 'flood', 'raster', 'continuous', 'single_event') expected = [] self.assertItemsEqual(continuous_hazards_units, expected)
def test_is_function_for_constraint(self): """Test for is_function_for_constraint""" impact_function = ITBFatalityFunction() result = impact_function.metadata().is_function_for_constraint( 'earthquake', 'population', 'raster', 'raster', 'continuous', 'continuous', ) self.assertTrue(result) result = impact_function.metadata().is_function_for_constraint( 'earthquake', 'population', 'raster', 'raster', 'classified', 'continuous', ) self.assertFalse(result)
def test_available_exposures(self): """Test available_exposure.""" impact_function = ITBFatalityFunction() hazards = impact_function.metadata().available_exposures() expected = [exposure_population] self.assertItemsEqual(hazards, expected)