Files
FOUR-QUADRANT_BALANCE_SHEET…/tests/test_capital_stress.py
2026-02-22 23:39:47 -08:00

25 lines
970 B
Python

"""Tests for Sheet 3: Capital and liquidity stress (Part XII)."""
from fqbm.state import FQBMState
from fqbm.sheets.capital_stress import stress_tables, StressParams
def test_stress_tables_structure():
state = FQBMState(R=200, Deposits=1000, Loans=900, E_b=100)
out = stress_tables(state)
assert "liquidity_stress" in out
assert "capital_stress" in out
assert len(out["liquidity_stress"]) == 3
assert len(out["capital_stress"]) == 2
assert "RCR" in out["liquidity_stress"].columns
assert "Status" in out["liquidity_stress"].columns
assert "CR" in out["capital_stress"].columns
def test_stress_tables_with_params():
state = FQBMState(R=50, Deposits=500, Loans=400, E_b=50)
params = StressParams(capital_ratio_min=0.10)
out = stress_tables(state, params)
assert out["capital_stress"] is not None
assert "Breach" in out["capital_stress"]["Status"].values or "Compliant" in out["capital_stress"]["Status"].values