test_parsable.py 675 B

123456789101112131415161718192021222324
  1. from importlib_resources import files
  2. import glob
  3. import os
  4. import pytest
  5. from gflanguages import languages_public_pb2
  6. from google.protobuf import text_format
  7. languages_dir = files("gflanguages.data").joinpath("languages")
  8. textproto_files = [
  9. file.name for file in languages_dir.iterdir() if file.name.endswith(".textproto")
  10. ]
  11. @pytest.mark.parametrize("lang_code", textproto_files)
  12. def test_parsable(lang_code):
  13. f = languages_dir.joinpath(lang_code)
  14. msg = text_format.Parse(
  15. f.read_text(encoding="utf-8"), languages_public_pb2.LanguageProto()
  16. )
  17. assert msg.id
  18. assert msg.language
  19. assert msg.script
  20. assert msg.population is not None