hledger/tests/balance/intervals.test
Simon Michael e491f513a1 cli: tabular reports no longer have a trailing blank line added
Tabular reports from bal, bs etc. have until now been rendered on
the terminal with one final blank line, for readability.
This change drops the blank line.

This is consistent with the non-tabular balance and register output
(not print, which is a special case), and with most unix commands.
The real reason for it, which I admit is flimsy, is that I can now omit
the final delimiter (>=0) when using shelltestrunner 1.9's new format,
making functional tests easier to maintain and more readable.
If there's opposition, this could be reverted.
2018-01-23 12:47:56 -08:00

266 lines
8.6 KiB
Plaintext

# multi-column balance reports
# 1. Here are the postings used in most tests below:
hledger -f balance-multicol.journal register
>>>
2012/12/31 (assets:checking) 10 10
2013/01/01 (assets:checking) 1 11
2013/01/15 (assets:checking) -1 10
2013/02/01 (assets:cash) 1 11
2013/02/02 (assets) 1 12
2013/03/01 (assets:checking) 1 13
>>>=0
# 2. A period balance (flow) report. --no-total also works but isn't pretty.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --no-total
>>>
Balance changes in 2013q1:
|| 2013/01 2013/02 2013/03
=================++===========================
assets || 0 1 0
assets:cash || 0 1 0
assets:checking || 0 0 1
>>>=0
# 3. With --empty, includes leading/trailing empty periods
#hledger -f balance-multicol.journal balance -p 'quarterly in 2013' --empty
hledger -f - balance -p 'quarterly in 2013' --empty
<<<
2012/12/31
(a) 10
2013/1/1
(a) 1
2013/3/1
(a) 1
>>>
Balance changes in 2013:
|| 2013q1 2013q2 2013q3 2013q4
===++================================
a || 2 0 0 0
---++--------------------------------
|| 2 0 0 0
>>>=0
# 4. A cumulative ending balance report. Column totals are the sum of
# the highest-level displayed accounts (here, assets).
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --cumulative
>>>
Ending balances (cumulative) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
=================++====================================
assets || 0 1 1
assets:cash || 0 1 1
assets:checking || 0 0 1
-----------------++------------------------------------
|| 0 2 3
>>>=0
# 5. With the assets:cash account excluded. As with a single-column
# balance --flat report, or ledger's balance --flat, assets' balance
# includes the displayed subaccount and not the excluded one.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --cumulative not:cash
>>>
Ending balances (cumulative) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
=================++====================================
assets || 0 1 1
assets:checking || 0 0 1
-----------------++------------------------------------
|| 0 1 2
>>>=0
# 6. A historical ending balance report.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --historical
>>>
Ending balances (historical) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
=================++====================================
assets || 0 1 1
assets:cash || 0 1 1
assets:checking || 10 10 11
-----------------++------------------------------------
|| 10 12 13
>>>=0
# 7. With top-level accounts excluded. As always, column totals are the sum of
# the highest-level displayed accounts, now assets:cash and assets:checking.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' not:assets$
>>>
Balance changes in 2013q1:
|| 2013/01 2013/02 2013/03
=================++===========================
assets:cash || 0 1 0
assets:checking || 0 0 1
-----------------++---------------------------
|| 0 1 1
>>>=0
# 8. cumulative:
hledger -f balance-multicol.journal balance -p 'monthly in 2013' not:assets$ --cumulative
>>>
Ending balances (cumulative) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
=================++====================================
assets:cash || 0 1 1
assets:checking || 0 0 1
-----------------++------------------------------------
|| 0 1 2
>>>=0
# 9. historical
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --historical
>>>
Ending balances (historical) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
=================++====================================
assets || 0 1 1
assets:cash || 0 1 1
assets:checking || 10 10 11
-----------------++------------------------------------
|| 10 12 13
>>>=0
# --depth
# 10. A flow report with depth limiting. The depth limit aggregates the three accounts as "assets".
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --depth 1
>>>
Balance changes in 2013q1:
|| 2013/01 2013/02 2013/03
========++===========================
assets || 0 2 1
--------++---------------------------
|| 0 2 1
>>>=0
# 11. As above, but postings in the top-level assets account have been excluded.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --depth 1 assets:
>>>
Balance changes in 2013q1:
|| 2013/01 2013/02 2013/03
========++===========================
assets || 0 1 1
--------++---------------------------
|| 0 1 1
>>>=0
# 12. A cumulative balance report with depth limiting.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --depth 1 --cumulative
>>>
Ending balances (cumulative) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
========++====================================
assets || 0 2 3
--------++------------------------------------
|| 0 2 3
>>>=0
# 13. A historical balance report with depth limiting.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --depth 1 --historical
>>>
Ending balances (historical) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
========++====================================
assets || 10 12 13
--------++------------------------------------
|| 10 12 13
>>>=0
# 14. The three multicol balance report types again, this time with --tree
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --tree
>>>
Balance changes in 2013q1:
|| 2013/01 2013/02 2013/03
============++===========================
assets || 0 2 1
cash || 0 1 0
checking || 0 0 1
------------++---------------------------
|| 0 2 1
>>>=0
# 15.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --cumulative --tree
>>>
Ending balances (cumulative) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
============++====================================
assets || 0 2 3
cash || 0 1 1
checking || 0 0 1
------------++------------------------------------
|| 0 2 3
>>>=0
# 16.
hledger -f balance-multicol.journal balance -p 'monthly in 2013' --historical --tree
>>>
Ending balances (historical) in 2013q1:
|| 2013/01/31 2013/02/28 2013/03/31
============++====================================
assets || 10 12 13
cash || 0 1 1
checking || 10 10 11
------------++------------------------------------
|| 10 12 13
>>>=0
# 17. --date2 should work
hledger -f- balance --monthly --date2
<<<
2014/1/1
(a) 1
2014/2/1=2014/1/31
(b) 1
>>>
Balance changes in 2014/01:
|| 2014/01
===++=========
a || 1
b || 1
---++---------
|| 2
>>>=0
# 18. All matched postings in the displayed intervals should be reported on.
hledger -f- balance -p 'monthly 2014/1/10-2014/2/20'
<<<
2014/1/5
(before) 1
2014/2/1
(within) 1
2014/2/25
(after) 1
>>>
Balance changes in 2014/01/01-2014/02/28:
|| 2014/01 2014/02
========++==================
after || 0 1
before || 1 0
within || 0 1
--------++------------------
|| 1 2
>>>=0