Source code for pook.assertion

from unittest import TestCase
from .regex import isregex, strip_regex, isregex_expr


[docs] def test_case(): """ Creates a new ``unittest.TestCase`` instance. Returns: unittest.TestCase """ test = TestCase() test.maxDiff = None return test
[docs] def equal(x, y): """ Shortcut function for ``unittest.TestCase.assertEqual()``. Arguments: x (mixed) y (mixed) Raises: AssertionError: in case of assertion error. Returns: bool """ return test_case().assertEqual(x, y) or True
[docs] def matches(x, y, regex_expr=False): """ Tries to match a regular expression value ``x`` against ``y``. Aliast``unittest.TestCase.assertEqual()`` Arguments: x (regex|str): regular expression to test. y (str): value to match. regex_expr (bool): enables regex string based expression matching. Raises: AssertionError: in case of mismatching. Returns: bool """ # Parse regex expression, if needed x = strip_regex(x) if regex_expr and isregex_expr(x) else x # Assert regular expression via unittest matchers return test_case().assertRegex(y, x) or True
[docs] def test(x, y, regex_expr=False): """ Compares to values based on regular expression matching or strict equality comparison. Arguments: x (regex|str): string or regular expression to test. y (str): value to match. regex_expr (bool): enables regex string based expression matching. Raises: AssertionError: in case of matching error. Returns: bool """ return matches(x, y, regex_expr=regex_expr) if isregex(x) else equal(x, y)