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"