mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-20 02:37:12 +03:00
1741b607e2
Stop exporting journalAmounts, overJournalAmounts, traverseJournalAmounts. Rename journalAmounts helper to journalStyleInfluencingAmounts. D directives are now a little better at influencing amount canonicalisation, eg in the updated test case.
148 lines
3.8 KiB
Plaintext
148 lines
3.8 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
|
|
|
|
# 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.00
|
|
|
|
>>>=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..
|
|
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
|