Using "hledgerdev" was a hack to help ensure that tests used a fresh developer build by default. Now they specify "hledger" again, which fits better with stack. It's up to the tester to make sure the desired executable is first in PATH or specified with -w. (Note a couple of tests currently don't obey -w and will always run "hledger", see addons.test).
139 lines
1.9 KiB
Plaintext
Executable File
139 lines
1.9 KiB
Plaintext
Executable File
#!/usr/bin/env shelltest
|
|
# 1. test some balance assertions
|
|
hledger -f - stats
|
|
<<<
|
|
2013/1/1
|
|
a $1 =$1
|
|
b =-$1
|
|
|
|
2013/1/2
|
|
a $1 =$2
|
|
b $-1 =$-2
|
|
|
|
2013/1/3
|
|
a $1 = $3
|
|
b $-1 = $-3
|
|
(b) $1 = $-2
|
|
|
|
>>> /Transactions/
|
|
>>>2
|
|
>>>=0
|
|
|
|
# 2. same entries as 1 but different parse order, assertion should still pass based on date
|
|
hledger -f - stats
|
|
<<<
|
|
2013/1/1
|
|
a $1 =$1
|
|
b =-$1
|
|
|
|
2013/1/3
|
|
a $1 = $3
|
|
b $-1 = $-3
|
|
(b) $1 = $-2
|
|
|
|
2013/1/2
|
|
a $1 =$2
|
|
b $-1 =$-2
|
|
|
|
>>> /Transactions/
|
|
>>>2
|
|
>>>=0
|
|
|
|
# 3. like 1 but switch order of postings in last entry,
|
|
# assertion should fail and exit code should be non zero
|
|
hledger -f - stats
|
|
<<<
|
|
2013/1/1
|
|
a $1 =$1
|
|
b =-$1
|
|
|
|
2013/1/2
|
|
a $1 =$2
|
|
b $-1 =$-2
|
|
|
|
2013/1/3
|
|
a $1 = $3
|
|
(b) $1 = $-2
|
|
b $-1 = $-3
|
|
|
|
>>>
|
|
>>>2 /Balance assertion failed for account b on 2013-01-03/
|
|
>>>=1
|
|
|
|
# 4. should also work without commodity symbols
|
|
hledger -f - stats
|
|
<<<
|
|
2013/1/1
|
|
(a) 1 =1
|
|
|
|
>>> /Transactions/
|
|
>>>2
|
|
>>>=0
|
|
|
|
# 5. should work for fractional amount with trailing zeros
|
|
hledger -f - stats
|
|
<<<
|
|
2013/1/1
|
|
a $1.20 =$1.20
|
|
b =-$1.20
|
|
|
|
2013/1/2
|
|
a $0.10 =$1.3
|
|
b =-$1.3
|
|
|
|
2013/1/3
|
|
a $0.7 =$2
|
|
b =-$2
|
|
|
|
>>> /Transactions/
|
|
>>>2
|
|
>>>=0
|
|
|
|
# 6. assertions currently check only a single commodity's balance, like Ledger
|
|
hledger -f - stats
|
|
<<<
|
|
1/2
|
|
(a) A1
|
|
(a) B1 = A1
|
|
(a) 0 = A1
|
|
(a) C0 = D0
|
|
>>> /Transactions/
|
|
>>>2
|
|
>>>=0
|
|
|
|
# 7. balances should accumulate (#195)
|
|
hledger -f - stats
|
|
<<<
|
|
1/1
|
|
(a) 1F = 1F
|
|
(a) 2G = 2G
|
|
|
|
1/2
|
|
(a) 3F = 4F
|
|
>>> !/assertion failed/
|
|
>>>2
|
|
>>>=0
|
|
|
|
# 8. what should happen here ? Currently,
|
|
# in a, 3.4 EUR @@ $5.6 and -3.4 EUR cancel out (wrong ?)
|
|
# in b,
|
|
#
|
|
# hledger -f - stats
|
|
# <<<
|
|
# 2013/1/1
|
|
# a $1.20
|
|
# a 3.4 EUR @@ $5.6
|
|
# b
|
|
|
|
# 2013/1/2
|
|
# a -3.4 EUR
|
|
# b
|
|
|
|
# 2013/1/3
|
|
# a $0.1 =$1.30
|
|
# b =-$1.30
|
|
|
|
# >>> /Transactions/
|
|
# >>>2
|
|
# >>>=0
|