#* 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 || $-10 [ 40% of $-25] $-14 [ 56% of $-25] $-51 [ 204% of $-25] $-75 [ 100% of $-75] 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 || $-10 [ 40% of $-25] $-14 [ 56% of $-25] $-51 [ 204% of $-25] $-75 [ 100% of $-75] 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 # ==============================++============================================================================== # :expenses:cab || 0 0 $15 # :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 # ==================++===================================================================================== # || 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 || $-10 [ 40% of $-25] $-14 [ 56% of $-25] $-51 [ 204% of $-25] $-75 [ 100% of $-75] 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 || $-10 [ 40% of $-25] $-14 [ 56% of $-25] $-51 [ 204% of $-25] $-75 [ 100% of $-75] 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 # ==============================++============================================================================== # :expenses:cab || 0 0 $15 # :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 # ==================++===================================================================================== # || 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]