def test_remove_func_pass(self): """Test remove_func removes ImpactFunc of ImpactFuncSet correcty.""" imp_fun = ImpactFuncSet() vulner_1 = ImpactFunc() vulner_1.id = 1 vulner_1.haz_type = 'TC' imp_fun.append(vulner_1) imp_fun.remove_func() self.assertEqual(0, len(imp_fun._data))
def test_remove_wrong_error(self): """Test error is raised when invalid inputs.""" imp_fun = ImpactFuncSet() vulner_1 = ImpactFunc() vulner_1.id = 1 vulner_1.haz_type = 'TC' imp_fun.append(vulner_1) with self.assertLogs('climada.entity.impact_funcs.impact_func_set', level='WARNING') as cm: imp_fun.remove_func('FL') self.assertIn('No ImpactFunc with hazard FL.', cm.output[0]) with self.assertLogs('climada.entity.impact_funcs.impact_func_set', level='WARNING') as cm: imp_fun.remove_func(fun_id=3) self.assertIn('No ImpactFunc with id 3.', cm.output[0])
def test_remove_add_pass(self): """Test ImpactFunc can be added after removing.""" imp_fun = ImpactFuncSet() vulner_1 = ImpactFunc() vulner_1.id = 1 vulner_1.haz_type = 'TC' imp_fun.append(vulner_1) imp_fun.remove_func() self.assertEqual(0, len(imp_fun.get_hazard_types())) self.assertEqual(0, len(imp_fun.get_ids())) imp_fun.append(vulner_1) self.assertEqual(1, len(imp_fun.get_hazard_types())) self.assertEqual('TC', imp_fun.get_hazard_types()[0]) self.assertEqual(1, len(imp_fun.get_ids())) self.assertEqual([1], imp_fun.get_ids('TC'))