@@ -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
187200def test_write_read_hazard_forecast (haz_fc , tmp_path ):
188201
0 commit comments