| 12345678910111213141516171819202122232425262728293031 |
- import importlib.util
- import sys
- from pathlib import Path
- import pandas as pd
- import pytest
- def load_module():
- path = Path(__file__).resolve().parents[1] / "scripts" / "search_recent_squeeze_breakout_refine.py"
- spec = importlib.util.spec_from_file_location("search_recent_squeeze_breakout_refine", path)
- assert spec is not None
- module = importlib.util.module_from_spec(spec)
- assert spec.loader is not None
- sys.modules[spec.name] = module
- spec.loader.exec_module(module)
- return module
- def test_short_exit_return_subtracts_roundtrip_cost():
- module = load_module()
- assert module.exit_return("short", 100.0, 99.0) == pytest.approx(100.0 / 99.0 - 1.0 - module.ROUNDTRIP_COST)
- def test_ratio_filter_directional():
- module = load_module()
- frame = pd.DataFrame({"ratio": [1.0] * 100 + [0.98]})
- assert module.ratio_allows(frame, 100, "short", "directional") is True
- assert module.ratio_allows(frame, 100, "long", "directional") is False
|