Testcase+fix for commodity being reported more than once per account in balance
This commit is contained in:
		
							parent
							
								
									7ac9934b27
								
							
						
					
					
						commit
						7426e93ec6
					
				| @ -147,7 +147,11 @@ This implementation turned out to be a bit convoluted but implements the followi | ||||
| -- | Render one balance report line item as plain text. | ||||
| accountsReportItemAsText :: ReportOpts -> [FormatString] -> AccountsReportItem -> [String] | ||||
| accountsReportItemAsText opts format (_, accountName, depth, Mixed amounts) = | ||||
|     case amounts of | ||||
|     -- 'amounts' could contain several quantities of the same commodity with different price. | ||||
|     -- In order to combine them into single value (which is expected) we take the first price and | ||||
|     -- use it for the whole mixed amount. This could be suboptimal. XXX | ||||
|     let Mixed normAmounts = normaliseMixedAmount (Mixed amounts) in | ||||
|     case normAmounts of | ||||
|       [] -> [] | ||||
|       [a] -> [formatAccountsReportItem opts (Just accountName) depth a format] | ||||
|       (as) -> multiline as | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| # this should balance | ||||
| # 1. this should balance | ||||
| bin/hledger -f - print | ||||
| <<< | ||||
| 2011/1/1 | ||||
| @ -7,3 +7,21 @@ bin/hledger -f - print | ||||
|     c  $-30 | ||||
| >>>2 !/could not balance/ | ||||
| >>>= 0 | ||||
| # 2. When commodity price is specified for the whole transaction, it should still be reported | ||||
| # in the balance as a single quantity even when prices change over time | ||||
| bin/hledger -f - balance | ||||
| <<< | ||||
| 2011/01/01 conv1 | ||||
|   expenses   10£ @@ 16$ | ||||
|   cash       -16$ | ||||
| 
 | ||||
| 2011/01/02 conv2 | ||||
|   expenses   10£ @@ 15$ | ||||
|   cash       -15$ | ||||
| >>> | ||||
|                 -31$  cash | ||||
|                  20£  expenses | ||||
| -------------------- | ||||
|                 -31$ | ||||
|                  20£ | ||||
| >>>=0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user