veekun_pokedex/pokedex/tests/test_docs.py

23 lines
743 B
Python
Raw Permalink Normal View History

2012-06-10 22:20:10 +00:00
import os
import re
from pokedex.db.tables import mapped_classes
def test_main_tables():
"""Check that tables.py and main-tables.rst are in sync: every table should
be documented, and every documented table should exist."""
main_tables_path = os.path.join(os.path.dirname(__file__), '../../doc/main-tables.rst')
with open(main_tables_path) as f:
doc_class_names = set(
re.findall(r'^\.\. dex-table:: (\w+)$', f.read(), re.MULTILINE)
)
mapped_class_names = set(cls.__name__ for cls in mapped_classes)
# EXTRA ITEMS IN THE LEFT SET: tables defined but not documented
# EXTRA ITEMS IN THE RIGHT SET: tables documented but not defined
assert mapped_class_names == doc_class_names