← Files ImagoARCHIVED FILE

tests/test_spec_guard.py

2.37 KB · Nov 9, 2026 · 00:48 UTC

↓ Download file

See the change to this file →

import importlib.util, pathlib, unittest
module_path=pathlib.Path(__file__).resolve().parents[1]/'scripts/spec_guard.py'
spec=importlib.util.spec_from_file_location('spec_guard',module_path)
module=importlib.util.module_from_spec(spec);spec.loader.exec_module(module)
review=module.review
BASE={'task':'create','requested_output':'a square landscape image','claimed_rendered':False,'qa':{'composition':'passed'},'ready':True}

class ReviewTests(unittest.TestCase):
    def test_clean_create(self): self.assertEqual(review(BASE),[])
    def test_missing_task(self):self.assertTrue(review({**BASE,'task':'unknown'}))
    def test_blank_output(self):self.assertTrue(review({**BASE,'requested_output':' '}))
    def test_edit_missing_source(self):self.assertIn('edit requires an accessible source image',review({**BASE,'task':'edit','preserve':['background']}))
    def test_edit_missing_preserve(self):self.assertIn('edit must specify preservation constraints',review({**BASE,'task':'edit','source_present':True}))
    def test_edit_valid(self):self.assertEqual(review({**BASE,'task':'edit','source_present':True,'preserve':['face']}),[])
    def test_missing_factual_claims(self):self.assertTrue(review({**BASE,'task':'factual_visual'}))
    def test_unsupported_claim(self):self.assertTrue(review({**BASE,'task':'factual_visual','claims':[{'text':'75%'}]}))
    def test_supported_claim(self):self.assertEqual(review({**BASE,'task':'factual_visual','claims':[{'text':'20 users','source':'report p2','verified':True}]}),[])
    def test_fake_render(self):self.assertTrue(review({**BASE,'claimed_rendered':True}))
    def test_verified_render(self):self.assertEqual(review({**BASE,'claimed_rendered':True,'render_tool_result':'success'}),[])
    def test_bad_qa(self):self.assertTrue(review({**BASE,'qa':{'text':'imaginary'}}))
    def test_failed_ready(self):self.assertTrue(review({**BASE,'qa':{'text':'failed'}}))
    def test_untested_ready(self):self.assertTrue(review({**BASE,'qa':{'text':'not_tested'}}))
    def test_not_ready_failed(self):self.assertEqual(review({**BASE,'qa':{'text':'failed'},'ready':False}),[])
    def test_prompt_no_render(self):self.assertEqual(review({**BASE,'task':'prompt_only'}),[])
    def test_prompt_fake_render(self):self.assertTrue(review({**BASE,'task':'prompt_only','claimed_rendered':True}))
    def test_no_spec(self):self.assertTrue(review(None))

if __name__=='__main__': unittest.main()

SHA-256: b4931f9c5c8f105228e0eba5cfd6ad49a5f02cf596b87bd8c675884f8eadbbb6