Viraj0112's picture
Upload folder using huggingface_hub
03a907a verified
import pytest
from dataset.problem_22.buggy import parse_and_validate_emails
def test_parse_and_validate_emails():
emails = [
"user1@example.com",
"user2@test.org",
"invalid_email@example.com ", # Trailing space
"bad-format.com", # No @ symbol
"user@notallowed.com", # Not in allowed domains
"user_3@example.com"
]
allowed_domains = {"example.com", "test.org"}
result = parse_and_validate_emails(emails, allowed_domains)
# valid_emails: "user1@example.com", "user2@test.org", "user_3@example.com"
# "invalid_email@example.com " should be valid after trimming space
assert len(result['valid_emails']) == 4
assert "invalid_email@example.com" in result['valid_emails']
# invalid_emails: "bad-format.com", "user@notallowed.com"
assert len(result['invalid_emails']) == 2
assert "bad-format.com" in result['invalid_emails']
assert "user@notallowed.com" in result['invalid_emails']
# domain_counts
assert isinstance(result['domain_counts'], dict)
assert result['domain_counts']['example.com'] == 3
assert result['domain_counts']['test.org'] == 1
def test_empty_list():
result = parse_and_validate_emails([], {"example.com"})
assert result['valid_emails'] == []
assert result['invalid_emails'] == []
assert isinstance(result['domain_counts'], dict)
assert len(result['domain_counts']) == 0