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