def test_io_hdf5_pass(self): """write and read hdf5""" exp_df = Exposures(pd.read_excel(ENT_TEMPLATE_XLS), crs="epsg:32632") exp_df.set_geometry_points() exp_df.check() # set metadata exp_df.ref_year = 2020 exp_df.tag = Tag(ENT_TEMPLATE_XLS, 'ENT_TEMPLATE_XLS') exp_df.value_unit = 'XSD' file_name = DATA_DIR.joinpath('test_hdf5_exp.h5') # pd.errors.PerformanceWarning should be suppressed. Therefore, make sure that # PerformanceWarning would result in test failure here import warnings with warnings.catch_warnings(): warnings.simplefilter("error", category=pd.errors.PerformanceWarning) exp_df.write_hdf5(file_name) exp_read = Exposures.from_hdf5(file_name) self.assertEqual(exp_df.ref_year, exp_read.ref_year) self.assertEqual(exp_df.value_unit, exp_read.value_unit) self.assertDictEqual(exp_df.meta, exp_read.meta) self.assertTrue(u_coord.equal_crs(exp_df.crs, exp_read.crs)) self.assertTrue(u_coord.equal_crs(exp_df.gdf.crs, exp_read.gdf.crs)) self.assertEqual(exp_df.tag.file_name, exp_read.tag.file_name) self.assertEqual(exp_df.tag.description, exp_read.tag.description) np.testing.assert_array_equal(exp_df.gdf.latitude.values, exp_read.gdf.latitude.values) np.testing.assert_array_equal(exp_df.gdf.longitude.values, exp_read.gdf.longitude.values) np.testing.assert_array_equal(exp_df.gdf.value.values, exp_read.gdf.value.values) np.testing.assert_array_equal(exp_df.gdf.deductible.values, exp_read.gdf.deductible.values) np.testing.assert_array_equal(exp_df.gdf.cover.values, exp_read.gdf.cover.values) np.testing.assert_array_equal(exp_df.gdf.region_id.values, exp_read.gdf.region_id.values) np.testing.assert_array_equal(exp_df.gdf.category_id.values, exp_read.gdf.category_id.values) np.testing.assert_array_equal(exp_df.gdf.impf_TC.values, exp_read.gdf.impf_TC.values) np.testing.assert_array_equal(exp_df.gdf.centr_TC.values, exp_read.gdf.centr_TC.values) np.testing.assert_array_equal(exp_df.gdf.impf_FL.values, exp_read.gdf.impf_FL.values) np.testing.assert_array_equal(exp_df.gdf.centr_FL.values, exp_read.gdf.centr_FL.values) for point_df, point_read in zip(exp_df.gdf.geometry.values, exp_read.gdf.geometry.values): self.assertEqual(point_df.x, point_read.x) self.assertEqual(point_df.y, point_read.y)
def test_io_hdf5_pass(self): """write and read hdf5""" exp_df = Exposures(pd.read_excel(ENT_TEMPLATE_XLS)) exp_df.set_geometry_points() exp_df.check() # set metadata exp_df.ref_year = 2020 exp_df.tag = Tag(ENT_TEMPLATE_XLS, 'ENT_TEMPLATE_XLS') exp_df.value_unit = 'XSD' file_name = DATA_DIR.joinpath('test_hdf5_exp.h5') exp_df.write_hdf5(file_name) exp_read = Exposures() exp_read.read_hdf5(file_name) self.assertEqual(exp_df.ref_year, exp_read.ref_year) self.assertEqual(exp_df.value_unit, exp_read.value_unit) self.assertEqual(exp_df.crs, exp_read.crs) self.assertEqual(exp_df.tag.file_name, exp_read.tag.file_name) self.assertEqual(exp_df.tag.description, exp_read.tag.description) self.assertTrue( np.array_equal(exp_df.gdf.latitude.values, exp_read.gdf.latitude.values)) self.assertTrue( np.array_equal(exp_df.gdf.longitude.values, exp_read.gdf.longitude.values)) self.assertTrue( np.array_equal(exp_df.gdf.value.values, exp_read.gdf.value.values)) self.assertTrue( np.array_equal(exp_df.gdf.deductible.values, exp_read.gdf.deductible.values)) self.assertTrue( np.array_equal(exp_df.gdf.cover.values, exp_read.gdf.cover.values)) self.assertTrue( np.array_equal(exp_df.gdf.region_id.values, exp_read.gdf.region_id.values)) self.assertTrue( np.array_equal(exp_df.gdf.category_id.values, exp_read.gdf.category_id.values)) self.assertTrue( np.array_equal(exp_df.gdf.if_TC.values, exp_read.gdf.if_TC.values)) self.assertTrue( np.array_equal(exp_df.gdf.centr_TC.values, exp_read.gdf.centr_TC.values)) self.assertTrue( np.array_equal(exp_df.gdf.if_FL.values, exp_read.gdf.if_FL.values)) self.assertTrue( np.array_equal(exp_df.gdf.centr_FL.values, exp_read.gdf.centr_FL.values)) for point_df, point_read in zip(exp_df.gdf.geometry.values, exp_read.gdf.geometry.values): self.assertEqual(point_df.x, point_read.x) self.assertEqual(point_df.y, point_read.y)