diff options
-rw-r--r-- | exceptions.py | 2 | ||||
-rw-r--r-- | ledger_process.py | 5 | ||||
-rw-r--r-- | test_ledger_process.py | 3 |
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): |