#!/usr/bin/env python3 """Structure Skill 测试""" import tempfile import unittest from pathlib import Path import sys sys.path.insert(0, str(Path(__file__).parent.parent)) from run import StructureSkill class TestStructureSkill(unittest.TestCase): def setUp(self): self.skill = StructureSkill() self.temp_dir = Path(tempfile.mkdtemp()) def tearDown(self): import shutil shutil.rmtree(self.temp_dir, ignore_errors=True) def test_demo_mode(self): """测试Demo模式""" result = self.skill.run_demo(self.temp_dir) self.assertEqual(result["status"], "success") self.assertIn("output_dir", result) self.assertIn("report", result) output_dir = Path(result["output_dir"]) self.assertTrue((output_dir / "report.md").exists()) self.assertTrue((output_dir / "commands.sh").exists()) self.assertTrue((output_dir / "environment.yml").exists()) self.assertTrue((output_dir / "checksums.sha256").exists()) self.assertTrue((output_dir / "gene_structure.gff").exists()) def test_config_loading(self): """测试配置加载""" config = self.skill.config self.assertIn("skill", config) self.assertEqual(config["skill"]["name"], "structure") if __name__ == "__main__": unittest.main()