import os import tempfile import unittest from pathlib import Path import npc_baseline class NpcBaselineTests(unittest.TestCase): def test_expected_files_cover_all_variants_and_views(self): rows = npc_baseline.expected_files() self.assertEqual(len(rows), 48) self.assertEqual({row[0] for row in rows}, set(npc_baseline.VARIANTS)) self.assertEqual({row[1] for row in rows}, set(npc_baseline.VIEWS)) self.assertEqual(len({row[2] for row in rows}), 48) def test_latest_capture_prefers_the_full_stem(self): with tempfile.TemporaryDirectory() as tmp: folder = Path(tmp) (folder / "npc_casual__front.png").write_bytes(b"old") newer = folder / "npc_casual__front-v2.png" newer.write_bytes(b"new") os.utime(newer, (2_000_000_000, 2_000_000_000)) self.assertEqual(npc_baseline.latest_for(folder, "npc_casual__front"), newer) if __name__ == "__main__": unittest.main()