Files
FOUR-QUADRANT_BALANCE_SHEET…/tests/test_matrix.py

33 lines
1.2 KiB
Python
Raw Normal View History

"""Tests for Part I: Four-quadrant matrix."""
from fqbm.state import FQBMState
from fqbm.matrix import four_quadrant_matrix, four_quadrant_summary
def test_four_quadrant_matrix():
state = FQBMState(B=100, R=50, C=30, Loans=200, Deposits=180, E_cb=20, E_b=20)
df = four_quadrant_matrix(state)
assert "Assets (Dr)" in df.columns
assert "Liabilities (Dr)" in df.columns
assert "Liabilities (Cr)" in df.columns
last = df.iloc[-1]
assert float(last["Assets (Dr)"]) == 300
assert float(last["Liabilities (Cr)"]) == 40
def test_four_quadrant_matrix_with_L_cb():
state = FQBMState(B=80, R=40, C=20, Loans=100, Deposits=90, E_cb=20, E_b=10)
df = four_quadrant_matrix(state, L_cb=10)
last = df.iloc[-1]
assert float(last["Assets (Dr)"]) == 190
def test_four_quadrant_summary_identity():
state = FQBMState(B=50, R=30, C=10, Loans=100, Deposits=95, E_cb=10, E_b=5)
s = four_quadrant_summary(state)
assert "total_assets_dr" in s
assert "identity_A_eq_L_plus_E" in s
assert s["total_assets_dr"] == 150
assert s["total_liabilities_dr"] + s["total_liabilities_cr"] == 150
assert s["identity_A_eq_L_plus_E"] is True