import unittest from agents.unified_loop_llm import LLMSelectionMixin class CodingOutputContractTests(unittest.TestCase): def test_code_directive_requires_extractable_single_snippet(self): directive = LLMSelectionMixin._FORMAT_DIRECTIVE_CODE self.assertIn("ESATTAMENTE un blocco", directive) self.assertIn("linguaggio richiesto", directive) self.assertIn("compilabile", directive) self.assertIn("export", directive) def test_code_directive_covers_async_and_react_safety(self): directive = LLMSelectionMixin._FORMAT_DIRECTIVE_CODE self.assertIn("async", directive) self.assertIn("await", directive) self.assertIn("try/catch", directive) self.assertIn("Promise.allSettled", directive) self.assertIn("AbortController", directive) self.assertIn("return () =>", directive) if __name__ == "__main__": unittest.main()