fix: resolve CI/CD issues - fixed coverage and ruff paths, removed unused imports
Some checks failed
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-02-02 07:09:40 +00:00
parent 53fde1a30e
commit 8146ee4cfa

View File

@@ -1,17 +1,19 @@
"""Tests for the examples module.""" """Tests for the examples module."""
import pytest
from regex_humanizer.examples import generate_examples, generate_match_examples from regex_humanizer.examples import generate_examples, generate_match_examples
class TestGenerateExamples: class TestGenerateExamples:
"""Tests for the generate_examples function."""
def test_generate_literal_examples(self): def test_generate_literal_examples(self):
"""Test generating examples for a literal pattern."""
examples = generate_examples("hello", count=3) examples = generate_examples("hello", count=3)
assert len(examples) >= 1 assert len(examples) >= 1
assert "hello" in examples assert "hello" in examples
def test_generate_character_class_examples(self): def test_generate_character_class_examples(self):
"""Test generating examples for a character class."""
examples = generate_examples("[abc]", count=5) examples = generate_examples("[abc]", count=5)
assert len(examples) > 0 assert len(examples) > 0
for example in examples: for example in examples:
@@ -19,35 +21,79 @@ class TestGenerateExamples:
assert example in "abc" assert example in "abc"
def test_generate_quantifier_examples(self): def test_generate_quantifier_examples(self):
"""Test generating examples for a quantifier pattern."""
examples = generate_examples("a*", count=3) examples = generate_examples("a*", count=3)
assert len(examples) >= 1 assert len(examples) >= 1
for example in examples: for example in examples:
assert all(c == "a" for c in example) assert all(c == "a" for c in example)
def test_generate_digit_examples(self): def test_generate_digit_examples(self):
"""Test generating examples for digit pattern."""
examples = generate_examples(r"\d+", count=3) examples = generate_examples(r"\d+", count=3)
assert len(examples) >= 1 assert len(examples) >= 1
for example in examples: for example in examples:
assert example.isdigit() assert example.isdigit()
def test_generate_word_examples(self): def test_generate_word_examples(self):
"""Test generating examples for word character pattern."""
examples = generate_examples(r"\w+", count=3) examples = generate_examples(r"\w+", count=3)
assert len(examples) >= 1 assert len(examples) >= 1
for example in examples: for example in examples:
assert example.replace("_", "").isalnum() assert example.replace("_", "").isalnum()
def test_generate_alternation_examples(self): def test_generate_alternation_examples(self):
"""Test generating examples for alternation."""
examples = generate_examples("foo|bar", count=3) examples = generate_examples("foo|bar", count=3)
assert len(examples) >= 1 assert len(examples) >= 1
for example in examples: for example in examples:
assert example in ("foo", "bar") assert example in ("foo", "bar")
def test_generate_complex_pattern_examples(self): def test_generate_complex_pattern_examples(self):
"""Test generating examples for a complex pattern."""
examples = generate_examples(r"\d{3}-\d{4}", count=3) examples = generate_examples(r"\d{3}-\d{4}", count=3)
assert len(examples) >= 1 assert len(examples) >= 1
for example in examples: for example in examples:
assert "-" in example assert "-" in example
def test_generate_with_count(self):
"""Test that the count parameter works."""
examples = generate_examples("a", count=5)
assert len(examples) <= 5
def test_generate_invalid_pattern(self): def test_generate_invalid_pattern(self):
"""Test generating examples for an invalid pattern."""
examples = generate_examples("[unclosed", count=3) examples = generate_examples("[unclosed", count=3)
assert examples == [] assert examples == []
def test_generate_email_examples(self):
"""Test generating examples for an email pattern."""
examples = generate_examples(r"\w+@\w+\.\w+", count=3)
assert len(examples) >= 1
for example in examples:
assert "@" in example
assert "." in example.split("@")[1]
class TestGenerateMatchExamples:
"""Tests for the generate_match_examples function."""
def test_generate_matches_from_string(self):
"""Test generating matches from a test string."""
examples = generate_match_examples(r"\d+", "abc123def456ghi", count=3)
assert len(examples) >= 1
assert "123" in examples or "456" in examples
def test_generate_matches_no_match(self):
"""Test generating matches when no match found."""
examples = generate_match_examples(r"\d+", "abcdef", count=3)
assert examples == []
def test_generate_matches_count(self):
"""Test that count limits results."""
examples = generate_match_examples(r"\w+", "one two three four five", count=2)
assert len(examples) <= 2
def test_generate_matches_complex(self):
"""Test generating matches for complex pattern."""
examples = generate_match_examples(r"\b\w+@[\w.]", "contact: test@example.com, support@company.org", count=3)
assert len(examples) >= 1