From f6a7ccaa9060f0aee176ae2a3680f259bb8aa943 Mon Sep 17 00:00:00 2001 From: xjules Date: Wed, 11 Sep 2024 13:15:53 +0200 Subject: [PATCH] Fixup II --- src/ert/shared/storage/summary_key_utils.py | 29 +++++++++++---------- tests/unit_tests/shared/test_rate_keys.py | 2 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/ert/shared/storage/summary_key_utils.py b/src/ert/shared/storage/summary_key_utils.py index b72d39f7af1..9f0a4630b8d 100644 --- a/src/ert/shared/storage/summary_key_utils.py +++ b/src/ert/shared/storage/summary_key_utils.py @@ -121,16 +121,6 @@ class SummaryKeyType(Enum): def determine_key_type(key: str) -> "SummaryKeyType": if key in special_keys: return SummaryKeyType.MISC - default_case = { - "A": SummaryKeyType.AQUIFER, - "B": SummaryKeyType.BLOCK, - "C": SummaryKeyType.COMPLETION, - "F": SummaryKeyType.FIELD, - "G": SummaryKeyType.GROUP, - "N": SummaryKeyType.NETWORK, - "S": SummaryKeyType.SEGMENT, - "W": SummaryKeyType.WELL, - } if key.startswith("L"): secondary = key[1] if len(key) > 1 else "" @@ -154,16 +144,27 @@ def determine_key_type(key: str) -> "SummaryKeyType": return SummaryKeyType.REGION # default cases or miscellaneous if not matched - return default_case.get(key[0], SummaryKeyType.MISC) + return { + "A": SummaryKeyType.AQUIFER, + "B": SummaryKeyType.BLOCK, + "C": SummaryKeyType.COMPLETION, + "F": SummaryKeyType.FIELD, + "G": SummaryKeyType.GROUP, + "N": SummaryKeyType.NETWORK, + "S": SummaryKeyType.SEGMENT, + "W": SummaryKeyType.WELL, + }.get(key[0], SummaryKeyType.MISC) def match_keyword_vector(start: int, rate_keys: List[str], keyword: str) -> bool: - # Get the suffix of keyword starting from 'start' index (if not out of range) - suffix = keyword[start:] if len(keyword) > start else "" - return any(suffix.startswith(key) for key in rate_keys) + if len(keyword) < start: + return False + return any(keyword[start:].startswith(key) for key in rate_keys) def match_keyword_string(start: int, rate_string: str, keyword: str) -> bool: + if len(keyword) < start: + return False return keyword[start:].startswith(rate_string) diff --git a/tests/unit_tests/shared/test_rate_keys.py b/tests/unit_tests/shared/test_rate_keys.py index bed7788d617..76c171e9f94 100644 --- a/tests/unit_tests/shared/test_rate_keys.py +++ b/tests/unit_tests/shared/test_rate_keys.py @@ -56,5 +56,5 @@ def test_is_rate_determmines_rate_key(example): @given(key=summary_variables()) -def test_rate_determination_is_consinsent(key): +def test_rate_determination_is_consistent(key): assert Summary.is_rate(key) == is_rate(key)