lms.util.testing
1import re 2import typing 3 4import edq.testing.asserts 5import edq.testing.unittest 6 7ID_SUBS: typing.List[typing.Tuple[re.Pattern, str]] = [ 8 (re.compile(r'^id: \d+'), 'id: <ID>'), # Text 9 (re.compile(r'^\d+\t'), "<ID>\t"), # Table 10 (re.compile(r'"id": "\d+"'), '"id": "<ID>"'), # JSON 11 (re.compile(r' \(\d{1,2}\)'), ' (<ID>)'), # Labels with Small IDs 12] 13 14def cli_assert_normalize_ids(test: edq.testing.unittest.BaseTest, expected: str, actual: str, **kwargs: typing.Any) -> None: 15 """ 16 Normalize IDs (as output from a standard CLI, 17 and then use edq.testing.asserts.content_equals_normalize(). 18 """ 19 20 for (pattern, replacement) in ID_SUBS: 21 expected = re.sub(pattern, replacement, expected) 22 actual = re.sub(pattern, replacement, actual) 23 24 edq.testing.asserts.content_equals_normalize(test, expected, actual)
ID_SUBS: List[Tuple[re.Pattern, str]] =
[(re.compile('^id: \\d+'), 'id: <ID>'), (re.compile('^\\d+\\t'), '<ID>\t'), (re.compile('"id": "\\d+"'), '"id": "<ID>"'), (re.compile(' \\(\\d{1,2}\\)'), ' (<ID>)')]
def
cli_assert_normalize_ids( test: edq.testing.unittest.BaseTest, expected: str, actual: str, **kwargs: Any) -> None:
15def cli_assert_normalize_ids(test: edq.testing.unittest.BaseTest, expected: str, actual: str, **kwargs: typing.Any) -> None: 16 """ 17 Normalize IDs (as output from a standard CLI, 18 and then use edq.testing.asserts.content_equals_normalize(). 19 """ 20 21 for (pattern, replacement) in ID_SUBS: 22 expected = re.sub(pattern, replacement, expected) 23 actual = re.sub(pattern, replacement, actual) 24 25 edq.testing.asserts.content_equals_normalize(test, expected, actual)
Normalize IDs (as output from a standard CLI, and then use edq.testing.asserts.content_equals_normalize().