From b0b34adbd86fc778923a766273c145cc657918cd Mon Sep 17 00:00:00 2001 From: xengineering Date: Tue, 3 Sep 2024 20:24:42 +0200 Subject: finance: Add income.py This is the minimal starting point to model financial income. --- finance/income.py | 10 ++++++++++ finance/test_income.py | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 finance/income.py create mode 100644 finance/test_income.py (limited to 'finance') diff --git a/finance/income.py b/finance/income.py new file mode 100644 index 0000000..12d5d4e --- /dev/null +++ b/finance/income.py @@ -0,0 +1,10 @@ +import dataclasses + + +@dataclasses.dataclass(kw_only=True, frozen=True) +class Income: + + amount: float + + def integrate(self, delta_t: int) -> float: + return delta_t * self.amount diff --git a/finance/test_income.py b/finance/test_income.py new file mode 100644 index 0000000..21d42f7 --- /dev/null +++ b/finance/test_income.py @@ -0,0 +1,6 @@ +from finance import income + + +def test_income_integration() -> None: + inc = income.Income(amount=3000.0) + assert inc.integrate(5) == 15000.0 -- cgit v1.2.3-70-g09d2