Add test files
This commit is contained in:
53
tests/test_examples.py
Normal file
53
tests/test_examples.py
Normal file
@@ -0,0 +1,53 @@
|
||||
"""Tests for the examples module."""
|
||||
|
||||
import pytest
|
||||
|
||||
from regex_humanizer.examples import generate_examples, generate_match_examples
|
||||
|
||||
|
||||
class TestGenerateExamples:
|
||||
def test_generate_literal_examples(self):
|
||||
examples = generate_examples("hello", count=3)
|
||||
assert len(examples) >= 1
|
||||
assert "hello" in examples
|
||||
|
||||
def test_generate_character_class_examples(self):
|
||||
examples = generate_examples("[abc]", count=5)
|
||||
assert len(examples) > 0
|
||||
for example in examples:
|
||||
assert len(example) == 1
|
||||
assert example in "abc"
|
||||
|
||||
def test_generate_quantifier_examples(self):
|
||||
examples = generate_examples("a*", count=3)
|
||||
assert len(examples) >= 1
|
||||
for example in examples:
|
||||
assert all(c == "a" for c in example)
|
||||
|
||||
def test_generate_digit_examples(self):
|
||||
examples = generate_examples(r"\d+", count=3)
|
||||
assert len(examples) >= 1
|
||||
for example in examples:
|
||||
assert example.isdigit()
|
||||
|
||||
def test_generate_word_examples(self):
|
||||
examples = generate_examples(r"\w+", count=3)
|
||||
assert len(examples) >= 1
|
||||
for example in examples:
|
||||
assert example.replace("_", "").isalnum()
|
||||
|
||||
def test_generate_alternation_examples(self):
|
||||
examples = generate_examples("foo|bar", count=3)
|
||||
assert len(examples) >= 1
|
||||
for example in examples:
|
||||
assert example in ("foo", "bar")
|
||||
|
||||
def test_generate_complex_pattern_examples(self):
|
||||
examples = generate_examples(r"\d{3}-\d{4}", count=3)
|
||||
assert len(examples) >= 1
|
||||
for example in examples:
|
||||
assert "-" in example
|
||||
|
||||
def test_generate_invalid_pattern(self):
|
||||
examples = generate_examples("[unclosed", count=3)
|
||||
assert examples == []
|
||||
Reference in New Issue
Block a user