def from_mat(cls, file_name, description=''): """Read MATLAB file of climada. Parameters ---------- file_name : str, optional file name(s) or folder name containing the files to read description : str or list(str), optional one description of the data or a description of each data file Returns ------- ent : climada.entity.Entity The entity from matlab file """ return cls(exposures=Exposures.from_mat(file_name), disc_rates=DiscRates.from_mat(file_name, description), impact_func_set=ImpactFuncSet.from_mat( file_name, description), measure_set=MeasureSet.from_mat(file_name, description))
def test_demo_file_pass(self): """Read demo mat file""" # Read demo excel file description = 'One single file.' disc_rate = DiscRates.from_mat(file_name=ENT_TEST_MAT, description=description) # Check results n_rates = 51 self.assertIn('int', str(disc_rate.years.dtype)) self.assertEqual(len(disc_rate.years), n_rates) self.assertEqual(disc_rate.years[0], 2000) self.assertEqual(disc_rate.years[n_rates - 1], 2050) self.assertIn('float', str(disc_rate.rates.dtype)) self.assertEqual(len(disc_rate.rates), n_rates) self.assertEqual(disc_rate.rates.min(), 0.02) self.assertEqual(disc_rate.rates.max(), 0.02) self.assertEqual(disc_rate.tag.file_name, str(ENT_TEST_MAT)) self.assertEqual(disc_rate.tag.description, description)