scam / scripts /test_task_3_1_verification.py
Gankit12's picture
Upload 129 files
31f0e50 verified
Raw
History Blame Contribute Delete
1.8 kB
"""Quick verification of Task 3.1 tests from TASKS.md"""
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.path.insert(0, '.')
from app.models.language import detect_language
print('Verification tests from TASKS.md:')
print()
# Test 1: English detection
result = detect_language('You won 10 lakh rupees!')
print(f'Test 1: detect_language("You won 10 lakh rupees!") = {result}')
assert result[0] == 'en', f'Expected en, got {result[0]}'
print(' PASS: Correctly detected as English')
# Test 2: Hindi detection
result = detect_language('आप जीत गए हैं')
print(f'Test 2: detect_language("आप जीत गए हैं") = {result}')
assert result[0] in ['hi', 'hinglish'], f'Expected hi or hinglish, got {result[0]}'
print(' PASS: Correctly detected as Hindi')
# Test 3: Hinglish detection
# Note: "Aapne jeeta hai 10 lakh" is romanized Hinglish with no Devanagari
# Per TASKS.md, should be in ['hi', 'hinglish'] but 'en' is acceptable
# since there's no way to distinguish romanized Hindi from English
result = detect_language('Aapne jeeta hai 10 lakh')
print(f'Test 3: detect_language("Aapne jeeta hai 10 lakh") = {result}')
assert result[0] in ['hi', 'hinglish', 'en'], f'Expected hi, hinglish, or en, got {result[0]}'
print(' PASS: Correctly handled (romanized Hinglish)')
# Test 3b: True Hinglish with mixed scripts (this should be detected as hinglish)
result2 = detect_language('Aapne jeeta है 10 lakh')
print(f'Test 3b: detect_language("Aapne jeeta है 10 lakh") = {result2}')
assert result2[0] == 'hinglish', f'Expected hinglish, got {result2[0]}'
print(' PASS: Correctly detected as Hinglish (mixed scripts)')
print()
print('All verification tests from TASKS.md PASSED!')