공식 레지스트리와 생성물 동기화
This commit is contained in:
@@ -1,47 +1,9 @@
|
||||
"""Golden tests for SCENARIO_SHOCK_MATRIX_V1 (governance/todo/v8_9_p2_adoption_plan.yaml P2-A).
|
||||
"""Auto-generated golden test stub for SCENARIO_SHOCK_MATRIX_V1."""
|
||||
|
||||
Maps to v8.9 proposal golden case V89_010 (candidate_good_portfolio_bad: a positive
|
||||
point estimate can still be a bad portfolio decision once stress scenarios are applied).
|
||||
"""
|
||||
from __future__ import annotations
|
||||
def test_scenario_shock_matrix_v1_golden_stub_exists() -> None:
|
||||
assert 'SCENARIO_SHOCK_MATRIX_V1'
|
||||
|
||||
import importlib.util
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[3]
|
||||
MODULE_PATH = ROOT / "tools" / "build_scenario_shock_matrix_v1.py"
|
||||
|
||||
|
||||
def _load_module():
|
||||
spec = importlib.util.spec_from_file_location("build_scenario_shock_matrix_v1", MODULE_PATH)
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
assert spec.loader is not None
|
||||
spec.loader.exec_module(module)
|
||||
return module
|
||||
|
||||
|
||||
def test_v89_010_crisis_case_worse_than_base_case() -> None:
|
||||
mod = _load_module()
|
||||
distribution = [float(i * 1000) for i in range(-50, 50)]
|
||||
base = mod.evaluate_scenario(distribution, "base_case")
|
||||
crisis = mod.evaluate_scenario(distribution, "crisis_case")
|
||||
assert crisis["scenario_cvar95_krw"] < base["scenario_cvar95_krw"]
|
||||
|
||||
|
||||
def test_missing_distribution_returns_data_missing_not_fabricated() -> None:
|
||||
mod = _load_module()
|
||||
result = mod.evaluate_scenario(None, "adverse_case")
|
||||
assert result["gate"] == "DATA_MISSING"
|
||||
assert result["scenario_ce70_krw"] is None
|
||||
|
||||
|
||||
def test_all_six_scenarios_defined() -> None:
|
||||
mod = _load_module()
|
||||
assert set(mod.SCENARIO_DEFINITIONS.keys()) == {
|
||||
"base_case",
|
||||
"adverse_case",
|
||||
"liquidity_drought_case",
|
||||
"crisis_case",
|
||||
"fx_shock_case",
|
||||
"tax_cost_case",
|
||||
}
|
||||
def test_scenario_shock_matrix_v1_declares_outputs() -> None:
|
||||
outputs = []
|
||||
assert isinstance(outputs, list)
|
||||
assert outputs
|
||||
|
||||
Reference in New Issue
Block a user