summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exceptions.py2
-rw-r--r--ledger_process.py5
-rw-r--r--test_ledger_process.py3
3 files changed, 7 insertions, 3 deletions
diff --git a/exceptions.py b/exceptions.py
new file mode 100644
index 0000000..ec210a2
--- /dev/null
+++ b/exceptions.py
@@ -0,0 +1,2 @@
+class MismatchedTradeError(Exception):
+ pass
diff --git a/ledger_process.py b/ledger_process.py
index dd82877..adcaacb 100644
--- a/ledger_process.py
+++ b/ledger_process.py
@@ -3,6 +3,7 @@ from itertools import groupby
import logging
from typing import Dict, List
+from exceptions import MismatchedTradeError
from ledger_action import LedgerAction
from trade import Trade
from trade_queue import FIFOQueue
@@ -98,7 +99,7 @@ class LedgerProcess:
)
else:
logger.error(f"Trade group doesn't have expected currencies.")
- raise ValueError(f"Unexpected trade grouping for refid {refid}")
+ raise MismatchedTradeError(f"Unexpected trade grouping for refid {refid}")
else:
logger.error(f"Trade group has {len(trades)} trades, expected 2.")
- raise ValueError(f"Unexpected number of trades for refid {refid}")
+ raise MismatchedTradeError(f"Unexpected number of trades for refid {refid}")
diff --git a/test_ledger_process.py b/test_ledger_process.py
index 092619a..fbbae1d 100644
--- a/test_ledger_process.py
+++ b/test_ledger_process.py
@@ -1,5 +1,6 @@
import unittest
from decimal import Decimal
+from exceptions import MismatchedTradeError
from ledger_action import LedgerAction
from ledger_process import LedgerProcess
@@ -48,7 +49,7 @@ class TestLedgerProcess(unittest.TestCase):
timestamp="2025-04-17 10:00:00",
refid="12345",
)
- with self.assertRaises(ValueError):
+ with self.assertRaises(MismatchedTradeError):
self.lp.process_ledger([crypto_trade]) # EUR row missing
def test_unsupported_deposit(self):