import pytest
from scripts.portfolios._defs import PORTFOLIOS


def test_port06_cap_backtest_numbers_locked():
    r = PORTFOLIOS["PORT06"].backtest()
    # regression-lock dei numeri del default (cap pairs 0.33) — vedi report_families.
    # Aggiornato 2026-05-31: il recupero dati BNB/DOGE/XRP (29 mag) ha ampliato la
    # copertura storica -> metriche migliorate (Sharpe 6.07->6.47, OOS 8.19->8.82,
    # DD 4.9%->4.1%). Nuovo baseline atteso, non una regressione.
    assert r.full["sharpe"] == pytest.approx(6.47, abs=0.15)
    assert r.oos["sharpe"] == pytest.approx(8.82, abs=0.25)
    assert r.full["dd"] == pytest.approx(4.1, abs=0.5)
