This changes showMixedAmountElided so that the width to elide to is given as an argument, rather than fixed at 22 characters. This actually uses the new renderTable interface. Mostly this is just an internal change, but since we have more information about the widths of things, we can actually get rid of some superfluous spaces in the budget report output, previously there to make sure it stayed aligned with the largest reasonable contents.
240 lines
9.2 KiB
Plaintext
240 lines
9.2 KiB
Plaintext
#* budget report sorting
|
|
# These tests below aren't very thorough, could use more varied amounts
|
|
# and pathological cases.
|
|
|
|
#** Default sort without account declarations
|
|
# already tested in budget.test, but for completeness:
|
|
|
|
<
|
|
~ daily from 2016/1/1
|
|
expenses:food $10
|
|
expenses:leisure $15
|
|
assets:cash
|
|
|
|
2016/12/01
|
|
expenses:food $10
|
|
assets:cash
|
|
|
|
2016/12/02
|
|
expenses:food $9
|
|
assets:cash
|
|
|
|
2016/12/03
|
|
expenses:food $11
|
|
assets:cash
|
|
|
|
2016/12/02
|
|
expenses:leisure $5
|
|
assets:cash
|
|
|
|
2016/12/03
|
|
expenses:movies $25
|
|
assets:cash
|
|
|
|
2016/12/03
|
|
expenses:cab $15
|
|
assets:cash
|
|
|
|
$ hledger -f- bal --budget -DTN
|
|
Budget performance in 2016-12-01..2016-12-03:
|
|
|
|
|| 2016-12-01 2016-12-02 2016-12-03 Total
|
|
==================++===================================================================================
|
|
assets:cash || $-10 [ 40% of $-25] $-14 [56% of $-25] $-51 [204% of $-25] $-75 [100% of $-75]
|
|
expenses || $10 [ 40% of $25] $14 [56% of $25] $51 [204% of $25] $75 [100% of $75]
|
|
expenses:food || $10 [100% of $10] $9 [90% of $10] $11 [110% of $10] $30 [100% of $30]
|
|
expenses:leisure || 0 [ 0% of $15] $5 [33% of $15] 0 [ 0% of $15] $5 [ 11% of $45]
|
|
|
|
#** Default sort with account declarations
|
|
|
|
<
|
|
account expenses
|
|
account expenses:leisure
|
|
|
|
~ daily from 2016/1/1
|
|
expenses:food $10
|
|
expenses:leisure $15
|
|
assets:cash
|
|
|
|
2016/12/01
|
|
expenses:food $10
|
|
assets:cash
|
|
|
|
2016/12/02
|
|
expenses:food $9
|
|
assets:cash
|
|
|
|
2016/12/03
|
|
expenses:food $11
|
|
assets:cash
|
|
|
|
2016/12/02
|
|
expenses:leisure $5
|
|
assets:cash
|
|
|
|
2016/12/03
|
|
expenses:movies $25
|
|
assets:cash
|
|
|
|
2016/12/03
|
|
expenses:cab $15
|
|
assets:cash
|
|
|
|
$ hledger -f- bal --budget -DTN
|
|
Budget performance in 2016-12-01..2016-12-03:
|
|
|
|
|| 2016-12-01 2016-12-02 2016-12-03 Total
|
|
==================++===================================================================================
|
|
expenses || $10 [ 40% of $25] $14 [56% of $25] $51 [204% of $25] $75 [100% of $75]
|
|
expenses:leisure || 0 [ 0% of $15] $5 [33% of $15] 0 [ 0% of $15] $5 [ 11% of $45]
|
|
expenses:food || $10 [100% of $10] $9 [90% of $10] $11 [110% of $10] $30 [100% of $30]
|
|
assets:cash || $-10 [ 40% of $-25] $-14 [56% of $-25] $-51 [204% of $-25] $-75 [100% of $-75]
|
|
|
|
# # 2. -E
|
|
# $ hledger bal -D -b 2016-12-01 -e 2016-12-04 -f - --budget -E
|
|
# Budget performance in 2016-12-01..2016-12-03:
|
|
|
|
# || 2016-12-01 2016-12-02 2016-12-03
|
|
# ==============================++==============================================================================
|
|
# <unbudgeted>:expenses:cab || 0 0 $15
|
|
# <unbudgeted>:expenses:movies || 0 0 $25
|
|
# assets:cash || $-10 [ 40% of $-25] $-14 [ 56% of $-25] $-51 [ 204% of $-25]
|
|
# expenses:food || $10 [ 100% of $10] $9 [ 90% of $10] $11 [ 110% of $10]
|
|
# expenses:leisure || 0 [ 0% of $15] $5 [ 33% of $15] 0 [ 0% of $15]
|
|
# ------------------------------++------------------------------------------------------------------------------
|
|
# || 0 [ 0] 0 [ 0] 0 [ 0]
|
|
|
|
# # 3. Test that budget works with mix of commodities
|
|
# <
|
|
# 2016/12/01
|
|
# expenses:food £10 @@ $15
|
|
# assets:cash
|
|
|
|
# 2016/12/02
|
|
# expenses:food 10 CAD @ $1
|
|
# assets:cash
|
|
|
|
# 2016/12/02
|
|
# expenses:food 10 CAD @ $1.1
|
|
# assets:cash
|
|
|
|
# 2016/12/03
|
|
# expenses:food $11
|
|
# assets:cash
|
|
|
|
# 2016/12/02
|
|
# expenses:leisure $5
|
|
# assets:cash
|
|
|
|
# 2016/12/03
|
|
# expenses:movies $25
|
|
# assets:cash
|
|
|
|
# 2016/12/03
|
|
# expenses:cab $15
|
|
# assets:cash
|
|
|
|
# ~ daily from 2016/1/1
|
|
# expenses:food $10
|
|
# expenses:leisure $15
|
|
# assets:cash
|
|
|
|
# $ hledger bal -D -b 2016-12-01 -e 2016-12-04 -f - --budget
|
|
# Budget performance in 2016-12-01..2016-12-03:
|
|
|
|
# || 2016-12-01 2016-12-02 2016-12-03
|
|
# ==================++=====================================================================================
|
|
# <unbudgeted> || 0 0 $40
|
|
# assets:cash || $-15 [ 60% of $-25] $-26 [ 104% of $-25] $-51 [ 204% of $-25]
|
|
# expenses:food || £10 [ 150% of $10] 20 CAD [ 210% of $10] $11 [ 110% of $10]
|
|
# expenses:leisure || 0 [ 0% of $15] $5 [ 33% of $15] 0 [ 0% of $15]
|
|
# ------------------++-------------------------------------------------------------------------------------
|
|
# || $-15, £10 [ 0] $-21, 20 CAD [ 0] 0 [ 0]
|
|
|
|
#** Sort by actual amount, flat mode.
|
|
|
|
$ hledger -f- bal --budget -DTNS
|
|
Budget performance in 2016-12-01..2016-12-03:
|
|
|
|
|| 2016-12-01 2016-12-02 2016-12-03 Total
|
|
==================++===================================================================================
|
|
expenses || $10 [ 40% of $25] $14 [56% of $25] $51 [204% of $25] $75 [100% of $75]
|
|
expenses:food || $10 [100% of $10] $9 [90% of $10] $11 [110% of $10] $30 [100% of $30]
|
|
expenses:leisure || 0 [ 0% of $15] $5 [33% of $15] 0 [ 0% of $15] $5 [ 11% of $45]
|
|
assets:cash || $-10 [ 40% of $-25] $-14 [56% of $-25] $-51 [204% of $-25] $-75 [100% of $-75]
|
|
|
|
#** Sort by actual amount, tree mode.
|
|
|
|
$ hledger -f- bal --budget -DTNS --tree
|
|
Budget performance in 2016-12-01..2016-12-03:
|
|
|
|
|| 2016-12-01 2016-12-02 2016-12-03 Total
|
|
=============++===================================================================================
|
|
expenses || $10 [ 40% of $25] $14 [56% of $25] $51 [204% of $25] $75 [100% of $75]
|
|
food || $10 [100% of $10] $9 [90% of $10] $11 [110% of $10] $30 [100% of $30]
|
|
leisure || 0 [ 0% of $15] $5 [33% of $15] 0 [ 0% of $15] $5 [ 11% of $45]
|
|
assets:cash || $-10 [ 40% of $-25] $-14 [56% of $-25] $-51 [204% of $-25] $-75 [100% of $-75]
|
|
|
|
#** other ?
|
|
# with -E
|
|
# $ hledger bal -D -b 2016-12-01 -e 2016-12-04 -f - --budget -E
|
|
# Budget performance in 2016/12/01-2016/12/03:
|
|
|
|
# || 2016/12/01 2016/12/02 2016/12/03
|
|
# ==============================++==============================================================================
|
|
# <unbudgeted>:expenses:cab || 0 0 $15
|
|
# <unbudgeted>:expenses:movies || 0 0 $25
|
|
# assets:cash || $-10 [ 40% of $-25] $-14 [ 56% of $-25] $-51 [ 204% of $-25]
|
|
# expenses:food || $10 [ 100% of $10] $9 [ 90% of $10] $11 [ 110% of $10]
|
|
# expenses:leisure || 0 [ 0% of $15] $5 [ 33% of $15] 0 [ 0% of $15]
|
|
# ------------------------------++------------------------------------------------------------------------------
|
|
# || 0 [ 0] 0 [ 0] 0 [ 0]
|
|
|
|
# with multiple commodities
|
|
# <
|
|
# 2016/12/01
|
|
# expenses:food £10 @@ $15
|
|
# assets:cash
|
|
|
|
# 2016/12/02
|
|
# expenses:food 10 CAD @ $1
|
|
# assets:cash
|
|
|
|
# 2016/12/02
|
|
# expenses:food 10 CAD @ $1.1
|
|
# assets:cash
|
|
|
|
# 2016/12/03
|
|
# expenses:food $11
|
|
# assets:cash
|
|
|
|
# 2016/12/02
|
|
# expenses:leisure $5
|
|
# assets:cash
|
|
|
|
# 2016/12/03
|
|
# expenses:movies $25
|
|
# assets:cash
|
|
|
|
# 2016/12/03
|
|
# expenses:cab $15
|
|
# assets:cash
|
|
|
|
# ~ daily from 2016/1/1
|
|
# expenses:food $10
|
|
# expenses:leisure $15
|
|
# assets:cash
|
|
|
|
# $ hledger bal -D -b 2016-12-01 -e 2016-12-04 -f - --budget
|
|
# Budget performance in 2016/12/01-2016/12/03:
|
|
|
|
# || 2016/12/01 2016/12/02 2016/12/03
|
|
# ==================++=====================================================================================
|
|
# <unbudgeted> || 0 0 $40
|
|
# assets:cash || $-15 [ 60% of $-25] $-26 [ 104% of $-25] $-51 [ 204% of $-25]
|
|
# expenses:food || £10 [ 150% of $10] 20 CAD [ 210% of $10] $11 [ 110% of $10]
|
|
# expenses:leisure || 0 [ 0% of $15] $5 [ 33% of $15] 0 [ 0% of $15]
|
|
# ------------------++-------------------------------------------------------------------------------------
|
|
# || $-15, £10 [ 0] $-21, 20 CAD [ 0] 0 [ 0]
|
|
|