34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
"""Global tests: no orphan formulae, no duplicate formula names."""
|
|
import pytest
|
|
|
|
from tests.conftest import FONT_FILES_DIR, FORMULA_DIR, get_font_dir_names
|
|
|
|
|
|
def test_every_formula_has_matching_font_folder():
|
|
"""Every Formula/font-*.rb has a matching font_files/font-<name>/ directory."""
|
|
formula_files = sorted(FORMULA_DIR.glob("font-*.rb"))
|
|
for formula_path in formula_files:
|
|
name = formula_path.stem # e.g. font-acrylic-hand
|
|
font_dir = FONT_FILES_DIR / name
|
|
assert font_dir.is_dir(), (
|
|
f"Orphan formula: {formula_path.name} has no matching font folder {font_dir}"
|
|
)
|
|
|
|
|
|
def test_no_duplicate_formula_names():
|
|
"""Only one formula file per font-<name> (no duplicate basenames)."""
|
|
formula_files = list(FORMULA_DIR.glob("font-*.rb"))
|
|
names = [p.stem for p in formula_files]
|
|
seen = set()
|
|
for n in names:
|
|
assert n not in seen, f"Duplicate formula name: {n}.rb"
|
|
seen.add(n)
|
|
|
|
|
|
def test_formula_count_matches_font_count():
|
|
"""Number of font-*.rb formulae equals number of font-* directories."""
|
|
font_names = get_font_dir_names()
|
|
formula_count = len(list(FORMULA_DIR.glob("font-*.rb")))
|
|
assert formula_count == len(font_names), (
|
|
f"Formula count ({formula_count}) != font dir count ({len(font_names)})"
|
|
)
|