"""Pure value objects for financial rules.""" from dataclasses import dataclass @dataclass(frozen=True) class PositionTresorerie: solde_banque: float encaisse: float total_reserves: float engagements_non_debites: float @property def disponible_bancaire(self) -> float: return self.solde_banque - self.total_reserves - self.engagements_non_debites @property def disponible_total(self) -> float: return self.disponible_bancaire + self.encaisse