def test_write_read_pass(self): ''' Read a hazard mat file correctly.''' file_name = os.path.join(DATA_DIR, 'test_haz.h5') # Read demo excel file hazard = Hazard('TC') hazard.read_mat(HAZ_TEST_MAT) hazard.event_name = list(map(str, hazard.event_name)) hazard.write_hdf5(file_name) haz_read = Hazard('TC') haz_read.read_hdf5(file_name) self.assertEqual(hazard.tag.file_name, haz_read.tag.file_name) self.assertIsInstance(haz_read.tag.file_name, str) self.assertEqual(hazard.tag.haz_type, haz_read.tag.haz_type) self.assertIsInstance(haz_read.tag.haz_type, str) self.assertEqual(hazard.tag.description, haz_read.tag.description) self.assertIsInstance(haz_read.tag.description, str) self.assertEqual(hazard.units, haz_read.units) self.assertIsInstance(haz_read.units, str) self.assertTrue(np.array_equal(hazard.centroids.coord, haz_read.centroids.coord)) self.assertEqual(hazard.centroids.crs, haz_read.centroids.crs) self.assertTrue(np.array_equal(hazard.event_id, haz_read.event_id)) self.assertTrue(np.array_equal(hazard.frequency, haz_read.frequency)) self.assertTrue(np.array_equal(hazard.event_name, haz_read.event_name)) self.assertIsInstance(haz_read.event_name, list) self.assertIsInstance(haz_read.event_name[0], str) self.assertTrue(np.array_equal(hazard.date, haz_read.date)) self.assertTrue(np.array_equal(hazard.orig, haz_read.orig)) self.assertTrue(np.array_equal(hazard.intensity.todense(), haz_read.intensity.todense())) self.assertIsInstance(haz_read.intensity, sparse.csr_matrix) self.assertTrue(np.array_equal(hazard.fraction.todense(), haz_read.fraction.todense())) self.assertIsInstance(haz_read.fraction, sparse.csr_matrix)
def _change_all_hazard(self, hazard): """Change hazard to provided hazard_set. Parameters: hazard (Hazard): hazard instance Returns: Hazard """ if self.hazard_set == NULL_STR: return hazard LOGGER.debug('Setting new hazard %s', self.hazard_set) from climada.hazard.base import Hazard new_haz = Hazard(hazard.tag.haz_type) new_haz.read_hdf5(self.hazard_set) new_haz.check() return new_haz
def test_change_all_hazard_pass(self): """Test _change_all_hazard method""" meas = Measure() meas.hazard_set = HAZ_DEMO_H5 ref_haz = Hazard('TC') ref_haz.read_hdf5(HAZ_DEMO_H5) hazard = Hazard('TC') new_haz = meas._change_all_hazard(hazard) self.assertEqual(new_haz.tag.file_name, ref_haz.tag.file_name) self.assertEqual(new_haz.tag.haz_type, ref_haz.tag.haz_type) self.assertTrue(np.array_equal(new_haz.frequency, ref_haz.frequency)) self.assertTrue(np.array_equal(new_haz.date, ref_haz.date)) self.assertTrue(np.array_equal(new_haz.orig, ref_haz.orig)) self.assertTrue(np.array_equal(new_haz.centroids.coord, ref_haz.centroids.coord)) self.assertTrue(np.array_equal(new_haz.intensity.data, ref_haz.intensity.data)) self.assertTrue(np.array_equal(new_haz.fraction.data, ref_haz.fraction.data))