"""Tests for the converter module.""" import pytest from regex_humanizer.converter import convert_to_english, generate_description class TestConvertToEnglish: def test_convert_literal(self): result = convert_to_english("hello") assert "hello" in result.lower() or "letter" in result.lower() def test_convert_character_class(self): result = convert_to_english("[abc]") assert "any" in result.lower() or "character" in result.lower() def test_convert_inverted_class(self): result = convert_to_english("[^abc]") assert "except" in result.lower() def test_convert_quantifier_star(self): result = convert_to_english("a*") assert "zero" in result.lower() or "more" in result.lower() def test_convert_quantifier_plus(self): result = convert_to_english("a+") assert "one" in result.lower() or "more" in result.lower() def test_convert_quantifier_question(self): result = convert_to_english("a?") assert "optionally" in result.lower() or "zero" in result.lower() def test_convert_anchors(self): result = convert_to_english("^start$") assert "start" in result.lower() and "end" in result.lower() def test_convert_alternation(self): result = convert_to_english("a|b") assert "or" in result.lower() def test_convert_group(self): result = convert_to_english("(abc)") assert "group" in result.lower() def test_convert_special_sequence_digit(self): result = convert_to_english(r"\d") assert "digit" in result.lower() def test_convert_special_sequence_word(self): result = convert_to_english(r"\w") assert "word" in result.lower() def test_convert_email_pattern(self): result = convert_to_english(r"^\w+@[a-z]+\.[a]+$") assert "start" in result.lower() and "end" in result.lower()