Skip to content

Commit 71339af

Browse files
committed
add member leadtime and forecast as fixtures
1 parent 5880669 commit 71339af

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

climada/hazard/test/test_forecast.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import numpy as np
2323
import numpy.testing as npt
24+
import pandas as pd
2425
import pytest
2526

2627
from 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

Comments
 (0)