367 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			367 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #* balance report sorting.
 | |
| # These tests are based on accounts' and somewhat duplicatory if
 | |
| # sorting code is shared between commands, but might be worth having
 | |
| # all the same.
 | |
| #** Tabular balance reports
 | |
| #*** Default sort without account declarations
 | |
| 
 | |
| # 1. Rows are sorted alphabetically by account name, at each tree level. 
 | |
| # Flat mode. Unused parent accounts are not added (b).
 | |
| <
 | |
| 2018/1/1
 | |
|   (b:j)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (c)    1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:i)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (a:k)  1
 | |
| 
 | |
| $ hledger -f- bal -NY
 | |
| Balance changes in 2018:
 | |
| 
 | |
|      || 2018 
 | |
| =====++======
 | |
|  a:k ||    1 
 | |
|  b:i ||    1 
 | |
|  b:j ||    1 
 | |
|  c   ||    1 
 | |
| >=
 | |
| 
 | |
| # 2. Tree mode. Missing parent accounts are added (b).
 | |
| $ hledger -f- bal -NY --tree --no-elide
 | |
| Balance changes in 2018:
 | |
| 
 | |
|      || 2018 
 | |
| =====++======
 | |
|  a   ||    1 
 | |
|    k ||    1 
 | |
|  b   ||    2 
 | |
|    i ||    1 
 | |
|    j ||    1 
 | |
|  c   ||    1 
 | |
| >=
 | |
| 
 | |
| #*** Default sort with account declarations
 | |
| 
 | |
| # 3. With account directives, flat mode.
 | |
| # At each tree level, declared accounts are sorted first, in
 | |
| # declaration order, followed by undeclared accounts sorted alphabetically.
 | |
| # Unused parent accounts are not added (b).
 | |
| # The b:k, b:j declarations affect the subs of b, not b itself.
 | |
| <
 | |
| account b:k
 | |
| account b:j
 | |
| account d
 | |
| 
 | |
| 2018/1/1
 | |
|   (a:l)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:i)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:j)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:k)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (c)    1
 | |
| 
 | |
| 2018/1/1
 | |
|   (d)    1
 | |
| 
 | |
| $ hledger -f- bal -NY
 | |
| Balance changes in 2018:
 | |
| 
 | |
|      || 2018 
 | |
| =====++======
 | |
|  d   ||    1 
 | |
|  a:l ||    1 
 | |
|  b:k ||    1 
 | |
|  b:j ||    1 
 | |
|  b:i ||    1 
 | |
|  c   ||    1 
 | |
| >=
 | |
| 
 | |
| # 4. With account directives, tree mode.
 | |
| # Missing parent accounts are added (b).
 | |
| $ hledger -f- bal -NY --tree --no-elide
 | |
| Balance changes in 2018:
 | |
| 
 | |
|      || 2018 
 | |
| =====++======
 | |
|  d   ||    1 
 | |
|  a   ||    1 
 | |
|    l ||    1 
 | |
|  b   ||    3 
 | |
|    k ||    1 
 | |
|    j ||    1 
 | |
|    i ||    1 
 | |
|  c   ||    1 
 | |
| >=
 | |
| 
 | |
| # # .
 | |
| # <
 | |
| # $ hledger -f- bal -NY
 | |
| # >=
 | |
| 
 | |
| # . With --drop, the modified names are sorted. ?
 | |
| # XXX not supported ?
 | |
| # $ hledger -f- bal -NY --drop 2
 | |
| # Balance changes in 2018:
 | |
| #
 | |
| #      || 2018 
 | |
| # =====++======
 | |
| #  c ||    1 
 | |
| #  i ||    1 
 | |
| #  j ||    1 
 | |
| #  k ||    1 
 | |
| # >=
 | |
| 
 | |
| #*** Sort by amount
 | |
| 
 | |
| # 5. Rows are sorted by decreasing amount (and then by account), at each tree level. 
 | |
| # Tree mode.
 | |
| 
 | |
| <
 | |
| 2018/1/1
 | |
|   (b:j)  2
 | |
| 
 | |
| 2018/1/1
 | |
|   (c)    1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:i)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (a:k)  1
 | |
| 
 | |
| $ hledger -f- bal -NY --sort-amount --tree --no-elide
 | |
| Balance changes in 2018:
 | |
| 
 | |
|      || 2018 
 | |
| =====++======
 | |
|  b   ||    3 
 | |
|    j ||    2 
 | |
|    i ||    1 
 | |
|  a   ||    1 
 | |
|    k ||    1 
 | |
|  c   ||    1 
 | |
| >=
 | |
| 
 | |
| # 6. Flat mode.
 | |
| $ hledger -f- bal -NY --flat --sort-amount
 | |
| Balance changes in 2018:
 | |
| 
 | |
|      || 2018 
 | |
| =====++======
 | |
|  b:j ||    2 
 | |
|  a:k ||    1 
 | |
|  b:i ||    1 
 | |
|  c   ||    1 
 | |
| >=
 | |
| 
 | |
| # 7. When the larger amount is composed of differently-priced amounts,
 | |
| # it could get sorted as if smaller (bug in hledger 1.4-1.10). Flat mode.
 | |
| <
 | |
| 2018/1/1
 | |
|   (a)  2X @ 1Y
 | |
|   (a)  2X @ 2Y
 | |
| 
 | |
| 2018/1/1
 | |
|   (b)  3X
 | |
| 
 | |
| $ hledger -f- bal -NY --sort-amount
 | |
| Balance changes in 2018:
 | |
| 
 | |
|    || 2018 
 | |
| ===++======
 | |
|  a ||   4X 
 | |
|  b ||   3X 
 | |
| >=
 | |
| 
 | |
| # 8. Explicit --flat flag, should be the same as above.
 | |
| $ hledger -f- bal -NY --sort-amount --flat
 | |
| Balance changes in 2018:
 | |
| 
 | |
|    || 2018 
 | |
| ===++======
 | |
|  a ||   4X 
 | |
|  b ||   3X 
 | |
| >=
 | |
| 
 | |
| # 9. Tree mode.
 | |
| $ hledger -f- bal -NY --sort-amount --tree
 | |
| Balance changes in 2018:
 | |
| 
 | |
|    || 2018 
 | |
| ===++======
 | |
|  a ||   4X 
 | |
|  b ||   3X 
 | |
| >=
 | |
| 
 | |
| #** Non-tabular balance reports
 | |
| #*** Default sort without account declarations
 | |
| 
 | |
| # 10. Rows are sorted alphabetically by account name, at each tree level. 
 | |
| # Tree mode. Missing parent accounts are added (b).
 | |
| <
 | |
| 2018/1/1
 | |
|   (b:j)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (c)    1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:i)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (a:k)  1
 | |
| 
 | |
| $ hledger -f- bal -N --tree
 | |
|                    1  a:k
 | |
|                    2  b
 | |
|                    1    i
 | |
|                    1    j
 | |
|                    1  c
 | |
| >=
 | |
| 
 | |
| # 11. Flat mode. Unused parent accounts are not added (b).
 | |
| $ hledger -f- bal -N --flat
 | |
|                    1  a:k
 | |
|                    1  b:i
 | |
|                    1  b:j
 | |
|                    1  c
 | |
| >=
 | |
| 
 | |
| #*** Default sort with account declarations
 | |
| 
 | |
| # 12. With account directives, tree mode.
 | |
| # At each tree level, declared accounts are sorted first, in
 | |
| # declaration order, followed by undeclared accounts sorted alphabetically.
 | |
| # Missing parent accounts are added (b).
 | |
| <
 | |
| account b:k
 | |
| account b:j
 | |
| account d
 | |
| 
 | |
| 2018/1/1
 | |
|   (a:l)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:i)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:j)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:k)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (c)    1
 | |
| 
 | |
| 2018/1/1
 | |
|   (d)    1
 | |
| 
 | |
| $ hledger -f- bal -N --tree
 | |
|                    1  d
 | |
|                    1  a:l
 | |
|                    3  b
 | |
|                    1    k
 | |
|                    1    j
 | |
|                    1    i
 | |
|                    1  c
 | |
| >=
 | |
| 
 | |
| # 13. With account directives, flat mode.
 | |
| # Unused parent accounts are not added (b).
 | |
| # The b:k, b:j declarations affect the subs of b, not b itself.
 | |
| $ hledger -f- bal -N --flat
 | |
|                    1  d
 | |
|                    1  a:l
 | |
|                    1  b:k
 | |
|                    1  b:j
 | |
|                    1  b:i
 | |
|                    1  c
 | |
| >=
 | |
| 
 | |
| #*** Sort by amount
 | |
| 
 | |
| # 14. Rows are sorted by decreasing amount (and then by account), at each tree level. 
 | |
| # Tree mode.
 | |
| 
 | |
| <
 | |
| 2018/1/1
 | |
|   (b:j)  2
 | |
| 
 | |
| 2018/1/1
 | |
|   (c)    1
 | |
| 
 | |
| 2018/1/1
 | |
|   (b:i)  1
 | |
| 
 | |
| 2018/1/1
 | |
|   (a:k)  1
 | |
| 
 | |
| $ hledger -f- bal -N --sort-amount --tree
 | |
|                    3  b
 | |
|                    2    j
 | |
|                    1    i
 | |
|                    1  a:k
 | |
|                    1  c
 | |
| >=
 | |
| 
 | |
| # 15. Flat mode.
 | |
| $ hledger -f- bal -N --flat --sort-amount
 | |
|                    2  b:j
 | |
|                    1  a:k
 | |
|                    1  b:i
 | |
|                    1  c
 | |
| >=
 | |
| 
 | |
| # 16. When the larger amount is composed of differently-priced amounts,
 | |
| # it could get sorted as if smaller (bug in hledger 1.4-1.10). Tree mode.
 | |
| <
 | |
| 2018/1/1
 | |
|   (a)  2X @ 1Y
 | |
|   (a)  2X @ 2Y
 | |
| 
 | |
| 2018/1/1
 | |
|   (b)  3X
 | |
| 
 | |
| $ hledger -f- bal -N --sort-amount
 | |
|                   4X  a
 | |
|                   3X  b
 | |
| >=
 | |
| 
 | |
| # 17. Explicit --tree flag, should be the same as above.
 | |
| $ hledger -f- bal -N --sort-amount --tree
 | |
|                   4X  a
 | |
|                   3X  b
 | |
| >=
 | |
| 
 | |
| # 18. Flat mode.
 | |
| $ hledger -f- bal -N --sort-amount --flat
 | |
|                   4X  a
 | |
|                   3X  b
 | |
| >=
 | |
| 
 | |
| # 19. Sort by amount, #1279
 | |
| <
 | |
| 2020-01-01
 | |
|     (a:aa)                                         1
 | |
|     (a:ab)                                         3
 | |
|     (b)                                            2
 | |
| 
 | |
| $ hledger -f- bal -N -S --tree
 | |
|                    4  a
 | |
|                    3    ab
 | |
|                    1    aa
 | |
|                    2  b
 | |
| >=
 |