Spaces:
Running
Running
File size: 985 Bytes
ee37d63 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import json
from pathlib import Path
from models.factor_skill_registry import level1_catalog, level2_sops_for_active_factors, level3_scripts_for_active_factors
def test_current_overlay_exposes_44_level1_factor_skills():
payload = json.loads(Path("config/multi_factor_overlay.json").read_text())
names = list(payload["selected_config"]["weights"])
rows = level1_catalog(names)
assert len(rows) == 44
assert all(row["description"] and row["trigger"] and row["level2_sop"] for row in rows)
def test_triggered_factors_load_only_needed_sop_and_deep_scripts():
active = ["intraday_60k_volume_low_guard", "big_player_buy"]
assert level2_sops_for_active_factors(active) == [
"docs/factor_skills/group_sops.md#量價行為",
"docs/factor_skills/group_sops.md#籌碼與風險",
]
assert level3_scripts_for_active_factors(active) == [
"scripts/run_44factor_buy_gate_evaluation.py",
"data/realtime_chip_adapter.py",
]
|