Design: Splitwise Financial Logic Testing
Focus on the financial calculation logic within Splitwise, excluding UI and network layers
Functional Requirements
Non-Functional Requirements
Jump into concepts and practice - no test required
+---------------------+ +-----------------------+ +---------------------+
| Transaction Module | <---> | Financial Logic Core | <---> | Currency Conversion |
+---------------------+ +-----------------------+ +---------------------+
| | |
v v v
+---------------------+ +-----------------------+ +---------------------+
| Balance Updater | | Rounding & Precision | | Test Suite Runner |
+---------------------+ +-----------------------+ +---------------------+initial_balance = 100 expense = 40 new_balance = initial_balance - expense assert new_balance == 60
balance = 50 expense = '30' new_balance = balance - expense