Skip to content

Commit 90ef9a3

Browse files
committed
change default value 'NA' to empty string. Rename function num_funcs to size.
1 parent 3c97624 commit 90ef9a3

File tree

2 files changed

+45
-45
lines changed

2 files changed

+45
-45
lines changed

climada/entity/impact_funcs/impact_func_set.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@ def add_func(self, func):
8383
if not isinstance(func, ImpactFunc):
8484
LOGGER.error("Input value is not of type ImpactFunc.")
8585
raise ValueError
86-
if func.haz_type == 'NA':
86+
if not func.haz_type:
8787
LOGGER.error("Input ImpactFunc's hazard type not set.")
8888
raise ValueError
89-
if func.id == 'NA':
89+
if not func.id:
9090
LOGGER.error("Input ImpactFunc's id not set.")
9191
raise ValueError
9292
if func.haz_type not in self._data:
@@ -193,7 +193,7 @@ def get_func(self, haz_type=None, fun_id=None):
193193
else:
194194
return self._data
195195

196-
def num_funcs(self, haz_type=None, fun_id=None):
196+
def size(self, haz_type=None, fun_id=None):
197197
"""Get number of impact functions contained with input hazard type and
198198
/or id. If no input provided, get total number of impact functions.
199199
@@ -217,11 +217,11 @@ def check(self):
217217
"""
218218
for key_haz, vul_dict in self._data.items():
219219
for fun_id, vul in vul_dict.items():
220-
if (fun_id != vul.id) | (fun_id == 'NA'):
220+
if (fun_id != vul.id) | (fun_id == ''):
221221
LOGGER.error("Wrong ImpactFunc.id: %s != %s.", fun_id, \
222222
vul.id)
223223
raise ValueError
224-
if (key_haz != vul.haz_type) | (key_haz == 'NA'):
224+
if (key_haz != vul.haz_type) | (key_haz == ''):
225225
LOGGER.error("Wrong ImpactFunc.haz_type: %s != %s.",\
226226
key_haz, vul.haz_type)
227227
raise ValueError
@@ -260,7 +260,7 @@ def append(self, impact_funcs):
260260
ValueError
261261
"""
262262
impact_funcs.check()
263-
if self.num_funcs() == 0:
263+
if self.size() == 0:
264264
self.__dict__ = impact_funcs.__dict__.copy()
265265
return
266266

@@ -282,7 +282,7 @@ def plot(self, haz_type=None, fun_id=None):
282282
Returns:
283283
matplotlib.figure.Figure, [matplotlib.axes._subplots.AxesSubplot]
284284
"""
285-
num_plts = self.num_funcs(haz_type, fun_id)
285+
num_plts = self.size(haz_type, fun_id)
286286
# Select all hazard types to plot
287287
if haz_type is not None:
288288
hazards = [haz_type]

climada/entity/impact_funcs/test/test_imp_fun_set.py

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -193,52 +193,52 @@ def test_get_func_wrong_error(self):
193193
imp_fun.add_func(vulner_1)
194194
self.assertEqual([], imp_fun.get_func('TC'))
195195

196-
def test_num_funcs_pass(self):
197-
"""Test num_funcs function."""
196+
def test_size_pass(self):
197+
"""Test size function."""
198198
imp_fun = ImpactFuncSet()
199-
self.assertEqual(0, imp_fun.num_funcs())
199+
self.assertEqual(0, imp_fun.size())
200200

201201
vulner_1 = ImpactFunc()
202202
vulner_1.haz_type = 'WS'
203203
vulner_1.id = 56
204204
imp_fun.add_func(vulner_1)
205-
self.assertEqual(1, imp_fun.num_funcs())
206-
self.assertEqual(1, imp_fun.num_funcs('WS', 56))
207-
self.assertEqual(1, imp_fun.num_funcs('WS'))
208-
self.assertEqual(1, imp_fun.num_funcs(fun_id=56))
205+
self.assertEqual(1, imp_fun.size())
206+
self.assertEqual(1, imp_fun.size('WS', 56))
207+
self.assertEqual(1, imp_fun.size('WS'))
208+
self.assertEqual(1, imp_fun.size(fun_id=56))
209209
imp_fun.add_func(vulner_1)
210-
self.assertEqual(1, imp_fun.num_funcs())
211-
self.assertEqual(1, imp_fun.num_funcs('WS', 56))
212-
self.assertEqual(1, imp_fun.num_funcs('WS'))
213-
self.assertEqual(1, imp_fun.num_funcs(fun_id=56))
210+
self.assertEqual(1, imp_fun.size())
211+
self.assertEqual(1, imp_fun.size('WS', 56))
212+
self.assertEqual(1, imp_fun.size('WS'))
213+
self.assertEqual(1, imp_fun.size(fun_id=56))
214214

215215
vulner_2 = ImpactFunc()
216216
vulner_2.haz_type = 'WS'
217217
vulner_2.id = 5
218218
imp_fun.add_func(vulner_2)
219-
self.assertEqual(2, imp_fun.num_funcs())
220-
self.assertEqual(1, imp_fun.num_funcs('WS', 56))
221-
self.assertEqual(2, imp_fun.num_funcs('WS'))
222-
self.assertEqual(1, imp_fun.num_funcs(fun_id=56))
223-
self.assertEqual(1, imp_fun.num_funcs(fun_id=5))
219+
self.assertEqual(2, imp_fun.size())
220+
self.assertEqual(1, imp_fun.size('WS', 56))
221+
self.assertEqual(2, imp_fun.size('WS'))
222+
self.assertEqual(1, imp_fun.size(fun_id=56))
223+
self.assertEqual(1, imp_fun.size(fun_id=5))
224224

225225
vulner_3 = ImpactFunc()
226226
vulner_3.haz_type = 'TC'
227227
vulner_3.id = 5
228228
imp_fun.add_func(vulner_3)
229-
self.assertEqual(3, imp_fun.num_funcs())
230-
self.assertEqual(1, imp_fun.num_funcs('TC', 5))
231-
self.assertEqual(2, imp_fun.num_funcs('WS'))
232-
self.assertEqual(1, imp_fun.num_funcs('TC'))
233-
self.assertEqual(1, imp_fun.num_funcs(fun_id=56))
234-
self.assertEqual(2, imp_fun.num_funcs(fun_id=5))
235-
236-
def test_num_funcs_wrong_zero(self):
237-
"""Test num_funcs method with wrong inputs."""
229+
self.assertEqual(3, imp_fun.size())
230+
self.assertEqual(1, imp_fun.size('TC', 5))
231+
self.assertEqual(2, imp_fun.size('WS'))
232+
self.assertEqual(1, imp_fun.size('TC'))
233+
self.assertEqual(1, imp_fun.size(fun_id=56))
234+
self.assertEqual(2, imp_fun.size(fun_id=5))
235+
236+
def test_size_wrong_zero(self):
237+
"""Test size method with wrong inputs."""
238238
imp_fun = ImpactFuncSet()
239-
self.assertEqual(0, imp_fun.num_funcs('TC'))
240-
self.assertEqual(0, imp_fun.num_funcs('TC', 3))
241-
self.assertEqual(0, imp_fun.num_funcs(fun_id=3))
239+
self.assertEqual(0, imp_fun.size('TC'))
240+
self.assertEqual(0, imp_fun.size('TC', 3))
241+
self.assertEqual(0, imp_fun.size(fun_id=3))
242242

243243
def test_add_func_pass(self):
244244
"""Test add_func adds ImpactFunc to ImpactFuncSet correctly."""
@@ -352,9 +352,9 @@ def test_append_to_empty_same(self):
352352
imp_fun.append(imp_fun_add)
353353
imp_fun.check()
354354

355-
self.assertEqual(imp_fun.num_funcs(), 3)
356-
self.assertEqual(imp_fun.num_funcs('TC'), 2)
357-
self.assertEqual(imp_fun.num_funcs('FL'), 1)
355+
self.assertEqual(imp_fun.size(), 3)
356+
self.assertEqual(imp_fun.size('TC'), 2)
357+
self.assertEqual(imp_fun.size('FL'), 1)
358358
self.assertEqual(imp_fun.tag.file_name, imp_fun_add.tag.file_name)
359359
self.assertEqual(imp_fun.tag.description, imp_fun_add.tag.description)
360360

@@ -372,8 +372,8 @@ def test_append_equal_same(self):
372372
imp_fun.append(imp_fun_add)
373373
imp_fun.check()
374374

375-
self.assertEqual(imp_fun.num_funcs(), 1)
376-
self.assertEqual(imp_fun.num_funcs('TC'), 1)
375+
self.assertEqual(imp_fun.size(), 1)
376+
self.assertEqual(imp_fun.size('TC'), 1)
377377

378378
def test_append_different_append(self):
379379
"""Append ImpactFuncSet with same and new values. The vulnerabilities
@@ -413,10 +413,10 @@ def test_append_different_append(self):
413413
imp_fun.append(imp_fun_add)
414414
imp_fun.check()
415415

416-
self.assertEqual(imp_fun.num_funcs(), 4)
417-
self.assertEqual(imp_fun.num_funcs('TC'), 2)
418-
self.assertEqual(imp_fun.num_funcs('FL'), 1)
419-
self.assertEqual(imp_fun.num_funcs('WS'), 1)
416+
self.assertEqual(imp_fun.size(), 4)
417+
self.assertEqual(imp_fun.size('TC'), 2)
418+
self.assertEqual(imp_fun.size('FL'), 1)
419+
self.assertEqual(imp_fun.size('WS'), 1)
420420

421421
class TestReadParallel(unittest.TestCase):
422422
"""Check read function with several files"""
@@ -427,7 +427,7 @@ def test_read_two_pass(self):
427427
imp_funcs = ImpactFuncSet([ENT_TEMPLATE_XLS, ENT_TEMPLATE_XLS], descriptions)
428428
self.assertEqual(imp_funcs.tag.file_name, ENT_TEMPLATE_XLS)
429429
self.assertEqual(imp_funcs.tag.description, 'desc1 + desc2')
430-
self.assertEqual(imp_funcs.num_funcs(), 11)
430+
self.assertEqual(imp_funcs.size(), 11)
431431

432432
# Execute Tests
433433
TESTS = unittest.TestLoader().loadTestsFromTestCase(TestContainer)

0 commit comments

Comments
 (0)