File size: 1,259 Bytes
043ecd7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from langmap.langid_mapping import langid_to_language


def test_langid_mapping_is_nonempty():
    assert len(langid_to_language) > 0


def test_langid_mapping_count():
    assert len(langid_to_language) >= 400, f"Expected >= 400 languages, got {len(langid_to_language)}"


def test_keys_are_bcp47_tokens():
    for key in langid_to_language:
        assert key.startswith("<2"), f"Key {key} does not start with '<2'"
        assert key.endswith(">"), f"Key {key} does not end with '>'"


def test_values_are_nonempty_strings():
    for key, value in langid_to_language.items():
        assert isinstance(value, str) and value.strip(), f"Empty language name for {key}"


def test_no_leading_or_trailing_whitespace():
    for key, value in langid_to_language.items():
        assert value == value.strip(), f"Language name for {key} has leading/trailing whitespace: {value!r}"


def test_no_duplicate_language_names():
    names = list(langid_to_language.values())
    assert len(names) == len(set(names)), "Duplicate language names found"


def test_known_languages_present():
    values = set(langid_to_language.values())
    for lang in ["English", "French", "Spanish", "Japanese", "Hawaiian"]:
        assert lang in values, f"{lang} missing from mapping"