@@ -30,6 +30,7 @@ class _Test:
3030 description : str
3131 input : List [AbstractTransactionDescriptor ]
3232 want : Dict [Account , List [AbstractTransactionDescriptor ]]
33+ want_amounts : Dict [Account , Dict [str , int ]]
3334 want_error : str
3435
3536
@@ -63,20 +64,27 @@ def _run_test(self, test: _Test, transfer_semantics: AbstractAccountingMethod) -
6364 for wallet , per_wallet_input_data in wallet_2_per_wallet_input_data .items ():
6465 got .append (f"{ wallet } :" )
6566 for transaction in per_wallet_input_data .unfiltered_in_transaction_set :
66- got .append (f"{ transaction } " )
67+ got .extend (f"{ transaction } " . splitlines () )
6768 for transaction in per_wallet_input_data .unfiltered_out_transaction_set :
68- got .append (f"{ transaction } " )
69+ got .extend (f"{ transaction } " . splitlines () )
6970 for transaction in per_wallet_input_data .unfiltered_intra_transaction_set :
70- got .append (f"{ transaction } " )
71+ got .extend (f"{ transaction } " . splitlines () )
7172
7273 want : List [str ] = []
7374 for wallet , per_wallet_input_data in want_wallet_2_per_wallet_input_data .items ():
7475 want .append (f"{ wallet } :" )
7576 for transaction in per_wallet_input_data .unfiltered_in_transaction_set :
76- want .append (f"{ transaction } " )
77+ want .extend (f"{ transaction } " . splitlines () )
7778 for transaction in per_wallet_input_data .unfiltered_out_transaction_set :
78- want .append (f"{ transaction } " )
79+ want .extend (f"{ transaction } " . splitlines () )
7980 for transaction in per_wallet_input_data .unfiltered_intra_transaction_set :
80- want .append (f"{ transaction } " )
81+ want .extend (f"{ transaction } " . splitlines () )
8182
82- self .assertEqual ("\n " .join (unified_diff (got , want , lineterm = "" )), "" )
83+ self .assertEqual ("\n " .join (unified_diff (got , want , lineterm = "" , n = 10 )), "" )
84+
85+ # Create got_actual_amounts and compare them with want actual amounts.
86+ got_actual_amounts : Dict [Account , Dict [str , int ]] = {
87+ wallet : {transaction .unique_id : int (actual_amount ) for transaction , actual_amount in per_wallet_input_data .in_transaction_2_actual_amount .items ()}
88+ for wallet , per_wallet_input_data in wallet_2_per_wallet_input_data .items ()
89+ }
90+ self .assertEqual (got_actual_amounts , test .want_amounts )
0 commit comments