"""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-/ 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- (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)})" )