import importlib.util,tempfile,unittest from pathlib import Path from PIL import Image spec=importlib.util.spec_from_file_location("evaluation",Path(__file__).resolve().parents[1]/"scripts/infer.py") m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m) class EvaluationTests(unittest.TestCase): def test_complete_pair_and_hashes(self): with tempfile.TemporaryDirectory() as d: p=Path(d);(p/"x.dat").write_bytes(bytes(512500));Image.new("RGB",(400,250)).save(p/"x.png") files,rows=m.validate_pairs(p,p,1) self.assertEqual(len(files),1);self.assertEqual(len(rows[0]["spike_sha256"]),64) with self.assertRaises(ValueError):m.validate_pairs(p,p,1000) def test_missing_or_bad_gt(self): with tempfile.TemporaryDirectory() as d: p=Path(d);(p/"x.dat").write_bytes(bytes(512500)) with self.assertRaises(ValueError):m.validate_pairs(p,p,1) Image.new("RGB",(10,10)).save(p/"x.png") with self.assertRaises(ValueError):m.validate_pairs(p,p,1) if __name__=="__main__":unittest.main()