26 lines
1018 B
Python
26 lines
1018 B
Python
import os
|
|
import sys
|
|
|
|
PROJECT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
|
if PROJECT_DIR not in sys.path:
|
|
sys.path.insert(0, PROJECT_DIR)
|
|
|
|
from app.services import altcoin_screener
|
|
|
|
|
|
def test_replay_samples_cover_pnt_cream_ai():
|
|
replay = altcoin_screener.get_replay_samples()
|
|
|
|
assert set(replay.keys()) >= {"PNT/USDT", "CREAM/USDT", "AI/USDT"}
|
|
assert replay["CREAM/USDT"]["expected"] in {"coarse_candidate", "qualified_candidate"}
|
|
assert replay["PNT/USDT"]["expected"] in {"static_bypass_candidate", "qualified_candidate"}
|
|
assert replay["AI/USDT"]["expected"] in {"sector_downgraded_candidate", "qualified_candidate"}
|
|
|
|
|
|
def test_run_replay_validation_returns_all_three_symbols():
|
|
result = altcoin_screener.run_replay_validation()
|
|
|
|
assert result["sample_count"] >= 3
|
|
assert set(result["symbols"]) >= {"PNT/USDT", "CREAM/USDT", "AI/USDT"}
|
|
assert all(item["passed"] for item in result["results"] if item["symbol"] in {"PNT/USDT", "CREAM/USDT", "AI/USDT"})
|