Initial commit: Four-Quadrant Balance Sheet Matrix (FQBM) framework
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
32
tests/test_matrix.py
Normal file
32
tests/test_matrix.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""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
|
||||
Reference in New Issue
Block a user