hledger/tests/journal/numbers.test
Mykola Orliuk b7dbe044b0 journal: use decimal sep hint for amount parser
Make use of commodity format directive as a hint for parsing amount.

Kinda resolves simonmichael/hledger#487
2017-11-27 15:47:56 -08:00

175 lines
2.2 KiB
Plaintext

# Simple case
hledger bal -f - --no-total
<<<
2017/1/1
a 1,000.00 EUR
b -1,000.00 EUR
>>>
1,000.00 EUR a
-1,000.00 EUR b
>>>2
>>>=0
# No digits before decimal sep
hledger bal -f - --no-total
<<<
2017/1/1
a .01 EUR
b
>>>
0.01 EUR a
-0.01 EUR b
>>>2
>>>=0
# No digits after decimal sep
hledger bal -f - --no-total
<<<
2017/1/1
a 1. EUR
b
>>>
1 EUR a
-1 EUR b
>>>2
>>>=0
# No digits at all
hledger bal -f -
<<<
2017/1/1
a . EUR
b
>>>
>>>=1
# Default commodity
hledger bal -f -
<<<
D 1,000.00 EUR
2017/1/1
a 1,000
b -1,000.00
>>>
1,000.00 EUR a
-1,000.00 EUR b
--------------------
0
>>>2
>>>=0
# Omitted decimals
hledger bal -f -
<<<
2017/1/1
a 1,000 EUR
b -1,000.00 EUR
>>>
>>>=1
# Omitted decimals with commodity hint
hledger bal -f -
<<<
commodity 1,000.00 EUR
2017/1/1
a 1,000 EUR
b -1,000.00 EUR
>>>
1,000.00 EUR a
-1,000.00 EUR b
--------------------
0
>>>2
>>>=0
# Omitted decimals with commodity hint and symbol on left
hledger bal -f -
<<<
commodity €1,000.00
2017/1/1
a €1,000
b €-1,000.00
>>>
€1,000.00 a
€-1,000.00 b
--------------------
0
>>>2
>>>=0
# Big prices
hledger bal -f - --no-total
<<<
2017/1/1
a -1 BTC @ 24,840 UAH
b 24,840.00 UAH
>>>
>>>=1
# Big prices with commodity hint
hledger bal -f - --no-total
<<<
commodity ₴1,000.00
2017/1/1
a -1 BTC @ ₴24,840
b ₴24,840.00
>>>
-1 BTC a
₴24,840.00 b
>>>2
>>>=0
# adjacent punctuation chars
hledger bal -f -
<<<
2017/1/1
a 1,,0,,0.0 EUR
b -1..0..0,0 EUR
>>>
>>>=1
# adjacent punctuation chars of different types
hledger bal -f -
<<<
2017/1/1
a 1,0,.0 EUR
b -1.0.,0 EUR
>>>
>>>=1
# separator chars vary
hledger bal -f -
<<<
2017/1/1
a 1.0,0.0,0 EUR
b -1,0.0,0.0 EUR
>>>
>>>=1
# number begins with a decimal char
hledger bal -f -
<<<
2017/1/1
a .1 EUR
b -.1 EUR
>>>
0.1 EUR a
-0.1 EUR b
--------------------
0
>>>2
>>>=0
# number begins with a separator char
hledger bal -f -
<<<
2017/1/1
a ,100.0 EUR
b -,100.0 EUR
>>>
>>>=1