コード例 #1
0
 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))
コード例 #2
0
 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])
コード例 #3
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'))