diff options
Diffstat (limited to 'tests/atoms/integer.test.py')
| -rw-r--r-- | tests/atoms/integer.test.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/atoms/integer.test.py b/tests/atoms/integer.test.py new file mode 100644 index 0000000..d5e9fa8 --- /dev/null +++ b/tests/atoms/integer.test.py @@ -0,0 +1,26 @@ +from edify import Pattern +from edify.atoms import integer + + +def _anchored(): + return Pattern().start_of_input().use(integer).end_of_input() + + +def test_accepts_sample_from_shape(): + assert _anchored()("-42") + + +def test_rejects_off_shape_input(): + assert not _anchored()("abc") + + +def test_atom_composes_inside_a_larger_pattern(): + embedded = Pattern().start_of_input().string("v=").use(integer).end_of_input() + assert embedded("v=" + "-42") + assert not embedded("-42") + + +def test_atom_regex_string_is_non_empty(): + fragment = integer.to_regex_string() + assert fragment + assert isinstance(fragment, str) |
