# 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

# 2. here the price should be printed with its original precision, not
# the canonical display precision. And the inferred amount should be printed
# with the canonical precision (2 digits, inferred from the first posting).
hledger -f - print --explicit
<<<
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 /should be 0 but is: \$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..
hledger -f - balance --cost
<<<
D $1000.0
2001/01/01 * ACME fund
           assets:investment:ACME     203.890 ACME @ $16.02
           equity:opening balances
>>>
             $3266.3  assets:investment:ACME
            $-3266.3  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 --explicit
<<<
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 --explicit
<<<
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
