aboutsummaryrefslogtreecommitdiff
path: root/tests/atoms/integer.test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/atoms/integer.test.py')
-rw-r--r--tests/atoms/integer.test.py26
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)