163 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # http://code.google.com/p/hledger/issues/detail?id=23
 | |
| #
 | |
| # 1. original test case, this should balance since price precisions do
 | |
| # not affect the canonical display precisions used for display and balancing
 | |
| hledger -f - print
 | |
| <<<
 | |
| 2010/1/1 x
 | |
|    A  55.3653 C @ 30.92189512 D
 | |
|    A  -1712 D
 | |
| >>>
 | |
| 2010/01/01 x
 | |
|     A  55.3653 C @ 30.92189512 D
 | |
|     A                    -1712 D
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| ## 1b. here $'s canonical display precision should be 2 not 4
 | |
| ## XXX no, because the inferred amount $1.0049 is observed
 | |
| # hledger -f - print --cost
 | |
| # <<<
 | |
| # 2010/1/1
 | |
| #    a  $0.00
 | |
| #    a  1C @ $1.0049
 | |
| #    a
 | |
| # >>>
 | |
| # 2010/01/01
 | |
| #     a             0
 | |
| #     a         $1.00
 | |
| #     a        $-1.00
 | |
| #
 | |
| # >>>=0
 | |
| 
 | |
| # 2. and here the price should be printed with its original precision, not
 | |
| # the canonical display precision
 | |
| hledger -f - print
 | |
| <<<
 | |
| 2010/1/1
 | |
|    a  $0.00
 | |
|    a  1C @ $1.0049
 | |
|    a
 | |
| >>>
 | |
| 2010/01/01
 | |
|     a             0
 | |
|     a  1C @ $1.0049
 | |
|     a      $-1.0049
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 3. with $'s display precision at 3 or more, this txn should not balance.
 | |
| # The error message shows the difference with full precision.
 | |
| hledger -f - balance --no-total --cost --empty
 | |
| <<<
 | |
| 2010/1/1
 | |
|    a  1C @ $1.0049
 | |
|    a  $-1.000
 | |
| >>>2 /off by \$0.0049/
 | |
| >>>= 1
 | |
| 
 | |
| # 4. with $'s display precision at 2 or less, this txn should balance
 | |
| hledger -f - balance --no-total --cost --empty
 | |
| <<<
 | |
| 2010/1/1
 | |
|    a  1C @ $1.0049
 | |
|    a  $-1.00
 | |
| >>>
 | |
|                    0  a
 | |
| >>>=0
 | |
| 
 | |
| # 5. avamk's 2011/1/19 example
 | |
| hledger -f - balance --cost
 | |
| <<<
 | |
| 2001/01/01 * ACME fund
 | |
|            assets:investment:ACME     203.890 ACME @ $16.02
 | |
|            equity:opening balances
 | |
| >>>
 | |
|             $3266.32  assets:investment:ACME
 | |
|            $-3266.32  equity:opening balances
 | |
| --------------------
 | |
|                    0
 | |
| >>>=0
 | |
| 
 | |
| # hledger 0.14pre: precision=2, presumably from price
 | |
| #            $3266.32  assets:investment:ACME
 | |
| #           $-3266.32  equity:opening balances
 | |
| #--------------------
 | |
| #               $0.00
 | |
| #
 | |
| # ledger "2.6.0.90" with -s: full precision, ignores price
 | |
| #          $3266.3178  assets:investment:ACME
 | |
| #         $-3266.3178  equity:opening balances
 | |
| #
 | |
| # ledger 3: precision=0, uses default, ignores price
 | |
| #               $3266  assets:investment:ACME
 | |
| #              $-3266  equity:opening balances
 | |
| #--------------------
 | |
| #                   0
 | |
| 
 | |
| ## 6. with a default commodity.. XXX should observe it
 | |
| hledger -f - balance --cost
 | |
| <<<
 | |
| D $1000.0
 | |
| 2001/01/01 * ACME fund
 | |
|            assets:investment:ACME     203.890 ACME @ $16.02
 | |
|            equity:opening balances
 | |
| >>>
 | |
|             $3266.32  assets:investment:ACME
 | |
|            $-3266.32  equity:opening balances
 | |
| --------------------
 | |
|                    0
 | |
| >>>=0
 | |
| ### hledger 0.14pre: precision=2, presumably from price, ignores D
 | |
| ###            $3266.32  assets:investment:ACME
 | |
| ###           $-3266.32  equity:opening balances
 | |
| ###--------------------
 | |
| ###               $0.00
 | |
| ###
 | |
| ### ledger "2.6.0.90" with -s: full precision, ignores price and D
 | |
| ###          $3266.3178  assets:investment:ACME
 | |
| ###         $-3266.3178  equity:opening balances
 | |
| ###
 | |
| ### ledger 3: precision=1, ignores price, observes D
 | |
| ###             $3266.3  assets:investment:ACME
 | |
| ###            $-3266.3  equity:opening balances
 | |
| ###--------------------
 | |
| ###                   0
 | |
| 
 | |
| # 
 | |
| # 7. when there are multiple postings in the commodity being priced,
 | |
| # show the averaged unit price, with precision equal to the sum of
 | |
| # the max precisions of the commodities being converted (#262).
 | |
| # Here the (irrational) price should be displayed with just precision 4
 | |
| # (C's precision 2 + D's precision 2).
 | |
| hledger -f- print
 | |
| <<<
 | |
| 2015/1/1
 | |
|     c    C 10.00
 | |
|     c    C 11.00
 | |
|     d  D -320.00
 | |
| >>>
 | |
| 2015/01/01
 | |
|     c  C 10.00 @ D 15.2381
 | |
|     c  C 11.00 @ D 15.2381
 | |
|     d            D -320.00
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| 
 | |
| ## 8. Here the price should be displayed with precision 7
 | |
| # (E's precision 4 + F's precision 3).
 | |
| hledger -f- print
 | |
| <<<
 | |
| 2015/1/1
 | |
|     e    E 10.0000
 | |
|     e    E 11
 | |
|     f  F -320.000
 | |
| >>>
 | |
| 2015/01/01
 | |
|     e  E 10.0000 @ F 15.2380952
 | |
|     e  E 11.0000 @ F 15.2380952
 | |
|     f                F -320.000
 | |
| 
 | |
| >>>=0
 |