Add a test for main-tables.rst

This commit is contained in:
Andrew Ekstedt 2012-06-10 15:20:10 -07:00
parent bfd414a4cd
commit b69a338138

View file

@ -0,0 +1,22 @@
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