Skip to content

Commit 08eb263

Browse files
committed
Reorganize tests and and test for null select
1 parent c123dec commit 08eb263

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

climada/hazard/test/test_forecast.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def test_base_class_select(
154154

155155
assert haz_fc_sel.centroids == haz_fc.centroids
156156

157-
def test_derived_select(self, haz_fc, lead_time, member, haz_kwargs):
157+
def test_derived_select_single(self, haz_fc, lead_time, member):
158158
haz_fc_select = haz_fc.select(member=[3, 0])
159159
idx = np.array([0, 3])
160160
npt.assert_array_equal(haz_fc_select.event_id, haz_fc.event_id[idx])
@@ -166,7 +166,7 @@ def test_derived_select(self, haz_fc, lead_time, member, haz_kwargs):
166166
npt.assert_array_equal(haz_fc_select.member, member[idx])
167167
npt.assert_array_equal(haz_fc_select.lead_time, lead_time[idx])
168168

169-
# Test intersections
169+
def test_derived_select_intersections(self, haz_fc, lead_time, member, haz_kwargs):
170170
haz_fc_select = haz_fc.select(event_id=[1, 4], member=[0, 1, 2])
171171
npt.assert_array_equal(haz_fc_select.event_id, haz_fc.event_id[np.array([0])])
172172

@@ -183,6 +183,19 @@ def test_derived_select(self, haz_fc, lead_time, member, haz_kwargs):
183183
npt.assert_array_equal(haz_fc_select.event_id, [1, 2, 4])
184184
npt.assert_array_equal(haz_fc_select.member, [0, 0, 0])
185185

186+
def test_derived_select_null(self, haz_fc, haz_kwargs):
187+
haz_fc_select = haz_fc.select()
188+
assert_hazard_kwargs(haz_fc_select, **haz_kwargs)
189+
190+
with pytest.raises(IndexError):
191+
haz_fc.select(event_id=[-1])
192+
with pytest.raises(IndexError):
193+
haz_fc.select(member=[-1])
194+
with pytest.raises(IndexError):
195+
haz_fc.select(
196+
lead_time=[np.timedelta64("2", "Y").astype("timedelta64[ns]")]
197+
)
198+
186199

187200
def test_write_read_hazard_forecast(haz_fc, tmp_path):
188201

0 commit comments

Comments
 (0)