2121
2222import numpy as np
2323import numpy .testing as npt
24+ import pandas as pd
2425import pytest
2526
2627from climada .hazard .base import Hazard
@@ -40,21 +41,33 @@ def dummy_hazard(haz_kwargs):
4041 return Hazard (** haz_kwargs )
4142
4243
43- def test_init_hazard_forecast (haz_kwargs ):
44- haz_fc = HazardForecast (
45- lead_time = np .array (
46- ["2024-01-01T00:00:00" , "2024-01-01T00:01:00" ], dtype = "datetime64[s]"
47- ),
48- member = np .array ([0 , 1 ]),
44+ @pytest .fixture
45+ def lead_time ():
46+ return pd .date_range ("2000-01-01" , "2000-01-02" , periods = 6 ).to_numpy ()
47+
48+
49+ @pytest .fixture
50+ def member ():
51+ return np .arange (6 )
52+
53+
54+ @pytest .fixture
55+ def haz_fc (lead_time , member , haz_kwargs ):
56+ return HazardForecast (
57+ lead_time = lead_time ,
58+ member = member ,
4959 ** haz_kwargs ,
5060 )
61+
62+
63+ def test_init_hazard_forecast (haz_fc , member , lead_time , haz_kwargs ):
5164 assert isinstance (haz_fc , HazardForecast )
5265 npt .assert_array_equal (
5366 haz_fc .lead_time ,
54- np . array ([ "2024-01-01T00:00:00" , "2024-01-01T00:01:00" ], dtype = "datetime64[s]" ) ,
67+ lead_time ,
5568 )
56- assert haz_fc .lead_time .dtype == "datetime64[s]"
57- npt .assert_array_equal (haz_fc .member , np . array ([ 0 , 1 ]) )
69+ assert haz_fc .lead_time .dtype == lead_time . dtype
70+ npt .assert_array_equal (haz_fc .member , member )
5871 assert haz_fc .haz_type == haz_kwargs ["haz_type" ]
5972 assert haz_fc .pool == haz_kwargs ["pool" ]
6073 assert haz_fc .units == haz_kwargs ["units" ]
@@ -71,11 +84,7 @@ def test_init_hazard_forecast(haz_kwargs):
7184 npt .assert_array_equal (haz_fc .fraction .todense (), haz_kwargs ["fraction" ].todense ())
7285
7386
74- def test_from_hazard (dummy_hazard ):
75- lead_time = np .array (
76- ["2024-01-01T00:00:00" , "2024-01-01T00:01:00" ], dtype = "datetime64[s]"
77- )
78- member = np .array ([0 , 1 ])
87+ def test_from_hazard (lead_time , member , dummy_hazard ):
7988 haz_fc_from_haz = HazardForecast .from_hazard (
8089 dummy_hazard , lead_time = lead_time , member = member
8190 )
0 commit comments