https://github.com/GeoscienceAustralia/PyRate
Tip revision: a1845a10c680eda4e34f93e8ab787ccfb367e546 authored by Matt Garthwaite on 21 October 2021, 00:43:59 UTC
Merge pull request #366 from sixy6e/j6-actions
Merge pull request #366 from sixy6e/j6-actions
Tip revision: a1845a1
test_constants.py
import re
from pathlib import Path
import pytest
from pyrate.constants import twelve_digits_pattern, sixteen_digits_pattern
from pyrate.configuration import parse_namelist
from tests.common import IFMS16, GAMMA_SML_TEST_DIR
@pytest.fixture
def six_digits_filenames():
return IFMS16
@pytest.fixture
def eight_digits_filenames():
files = list(parse_namelist(Path(GAMMA_SML_TEST_DIR).joinpath('ifms_17').as_posix()))
return files
@pytest.mark.parametrize(
"regex_pattern,extracted_string_length",
[
(twelve_digits_pattern, 12+1), # +1 due to the internal joining `-`
(sixteen_digits_pattern, 16+1)
]
)
def test_file_patterns(regex_pattern, extracted_string_length, six_digits_filenames, eight_digits_filenames):
if regex_pattern == twelve_digits_pattern:
for f in six_digits_filenames:
m = re.search(twelve_digits_pattern, Path(f).stem).group()
assert len(m) == extracted_string_length
if regex_pattern == sixteen_digits_pattern:
for f in eight_digits_filenames:
m = re.search(sixteen_digits_pattern, Path(f).stem).group()
assert len(m) == extracted_string_length