From 9d93366e7f1348f4ecb19c6aeaf14db8efa1cc23 Mon Sep 17 00:00:00 2001 From: Soroosh Mani <77082694+SorooshMani-NOAA@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:08:07 -0500 Subject: [PATCH] Storm lookup with correct name match (#94) * Storm lookup with correct name match * Fix style IGNORING COVERAGE DUE TO TIMEOUT ISSUE --- stormevents/stormevent.py | 2 +- tests/test_stormevent.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/stormevents/stormevent.py b/stormevents/stormevent.py index 0395180..a15112c 100644 --- a/stormevents/stormevent.py +++ b/stormevents/stormevent.py @@ -74,7 +74,7 @@ def __init__( """ storms = nhc_storms(year=year) - storms = storms[storms["name"].str.contains(name.upper())] + storms = storms[storms["name"].str.fullmatch(name.upper())] if len(storms) > 0: self.__entry = storms.iloc[0] else: diff --git a/tests/test_stormevent.py b/tests/test_stormevent.py index 28a5b34..f9b373d 100644 --- a/tests/test_stormevent.py +++ b/tests/test_stormevent.py @@ -29,6 +29,8 @@ def test_storm_event_lookup(): paine2016 = StormEvent.from_nhc_code("EP172016") henri2021 = StormEvent.from_usgs_id(310) ida2021 = StormEvent("ida", 2021) + eta2020 = StormEvent("eta", 2020) + beta2020 = StormEvent("beta", 2020) with pytest.raises(ValueError): StormEvent("nonexistent", 2021) @@ -80,6 +82,10 @@ def test_storm_event_lookup(): assert ida2021.start_date == datetime(2021, 8, 27, 18) assert ida2021.end_date == datetime(2021, 9, 4, 18) + # Similar names are not swapped (like [B]ETA) + assert eta2020.name == "ETA" + assert beta2020.name == "BETA" + def test_storm_event_time_interval(): florence2018 = StormEvent("florence", 2018, start_date=timedelta(days=-2))