"""半腿失败:手动补开 vs 自动平.""" from __future__ import annotations import os import unittest from unittest import mock from lib.hedge_plan.hedge_plan_orders_lib import ( manual_complete_on_partial, partial_auto_close_enabled, ) class PartialManualTests(unittest.TestCase): def test_manual_default_forces_auto_close_off(self): with mock.patch.dict(os.environ, {}, clear=False): os.environ.pop("HEDGE_PLAN_MANUAL_COMPLETE_ON_PARTIAL", None) os.environ["HEDGE_PLAN_PARTIAL_AUTO_CLOSE_OPTION"] = "true" self.assertTrue(manual_complete_on_partial()) self.assertFalse(partial_auto_close_enabled()) def test_manual_off_allows_auto_close(self): with mock.patch.dict( os.environ, { "HEDGE_PLAN_MANUAL_COMPLETE_ON_PARTIAL": "false", "HEDGE_PLAN_PARTIAL_AUTO_CLOSE_OPTION": "true", }, ): self.assertFalse(manual_complete_on_partial()) self.assertTrue(partial_auto_close_enabled()) def test_both_off(self): with mock.patch.dict( os.environ, { "HEDGE_PLAN_MANUAL_COMPLETE_ON_PARTIAL": "false", "HEDGE_PLAN_PARTIAL_AUTO_CLOSE_OPTION": "false", }, ): self.assertFalse(partial_auto_close_enabled()) if __name__ == "__main__": unittest.main()