dev: test: Convert forecast.test to shelltestrunner format 3
We'll soon implement some tests that have the same input, so this will reduce duplication.
This commit is contained in:
		
							parent
							
								
									092e9479f0
								
							
						
					
					
						commit
						65e10aebd2
					
				| @ -2,9 +2,7 @@ | ||||
| # Note periodic transaction tests should include a regular transaction | ||||
| # to pin the start date of forecasted transactions. | ||||
| 
 | ||||
| # 1. A balance report with forecasted transactions. | ||||
| hledger bal -M -b 2016-11 -e 2017-02 -f - --forecast | ||||
| <<< | ||||
| < | ||||
| 2016/12/31 | ||||
|     expenses:housing  $600 | ||||
|     assets:cash | ||||
| @ -15,7 +13,9 @@ hledger bal -M -b 2016-11 -e 2017-02 -f - --forecast | ||||
|     expenses:leisure  $15 | ||||
|     expenses:grocery  $30 | ||||
|     assets:cash | ||||
| >>> | ||||
| 
 | ||||
| # 1. A balance report with forecasted transactions. | ||||
| $ hledger bal -M -b 2016-11 -e 2017-02 -f - --forecast | ||||
| Balance changes in 2016-11-01..2017-01-31: | ||||
| 
 | ||||
|                   || 2016-11  2016-12  2017-01  | ||||
| @ -28,13 +28,9 @@ Balance changes in 2016-11-01..2017-01-31: | ||||
|  income           ||       0        0   $-1000  | ||||
| ------------------++--------------------------- | ||||
|                   ||       0        0        0  | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| 
 | ||||
| # 2. print forecasted transactions, with status and description. | ||||
| hledger print -b 2016-11 -e 2017-02 -f - --forecast | ||||
| <<< | ||||
| < | ||||
| 2016/12/31 | ||||
|     expenses:housing  $600 | ||||
|     assets:cash | ||||
| @ -45,7 +41,9 @@ hledger print -b 2016-11 -e 2017-02 -f - --forecast | ||||
|     expenses:leisure  $15 | ||||
|     expenses:grocery  $30 | ||||
|     assets:cash | ||||
| >>> | ||||
| 
 | ||||
| # 2. print forecasted transactions, with status and description. | ||||
| $ hledger print -b 2016-11 -e 2017-02 -f - --forecast | ||||
| 2016-12-31 | ||||
|     expenses:housing            $600 | ||||
|     assets:cash | ||||
| @ -58,13 +56,9 @@ hledger print -b 2016-11 -e 2017-02 -f - --forecast | ||||
|     expenses:grocery             $30 | ||||
|     assets:cash | ||||
| 
 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| 
 | ||||
| # 3. A register with forecasted transactions, with a comment and tag. | ||||
| hledger register -b 2016-11 -e 2017-02 -f - --forecast  tag:a | ||||
| <<< | ||||
| < | ||||
| 2016/12/31 | ||||
|     expenses:housing  $600 | ||||
|     assets:cash | ||||
| @ -75,18 +69,17 @@ hledger register -b 2016-11 -e 2017-02 -f - --forecast  tag:a | ||||
|     expenses:leisure  $15 | ||||
|     expenses:grocery  $30 | ||||
|     assets:cash | ||||
| >>> | ||||
| 
 | ||||
| # 3. A register with forecasted transactions, with a comment and tag. | ||||
| $ hledger register -b 2016-11 -e 2017-02 -f - --forecast  tag:a | ||||
| 2017-01-01                      income                      $-1000        $-1000 | ||||
|                                 expenses:food                  $20         $-980 | ||||
|                                 expenses:leisure               $15         $-965 | ||||
|                                 expenses:grocery               $30         $-935 | ||||
|                                 assets:cash                   $935             0 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 4. Check that --forecast generates transactions only after last transaction date in journal. | ||||
| hledger register -b 2015-12 -e 2017-02 -f - assets:cash --forecast | ||||
| <<< | ||||
| < | ||||
| 2016/01/01 | ||||
|     expenses:fun  $10 ; more fireworks | ||||
|     assets:cash | ||||
| @ -98,17 +91,15 @@ hledger register -b 2015-12 -e 2017-02 -f - assets:cash --forecast | ||||
| ~ yearly from 2016 | ||||
|     income  $-10000 ; bonus | ||||
|     assets:cash | ||||
| >>> | ||||
| 
 | ||||
| # 4. Check that --forecast generates transactions only after last transaction date in journal. | ||||
| $ hledger register -b 2015-12 -e 2017-02 -f - assets:cash --forecast | ||||
| 2016-01-01                      assets:cash                   $-10          $-10 | ||||
| 2016-12-02                      assets:cash                  $-600         $-610 | ||||
| 2017-01-01                      assets:cash                 $10000         $9390 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 5. Y affects M/D partial dates in periodic transactions. | ||||
| # The recur tag shows the original period expression and is not modified. | ||||
| hledger -f - print --forecast desc:forecast | ||||
| <<< | ||||
| < | ||||
| Y 2000 | ||||
| 
 | ||||
| ~ 2/1  forecast | ||||
| @ -116,16 +107,15 @@ Y 2000 | ||||
| ; a real transaction to set the start of the forecast window | ||||
| 2000/1/1 real | ||||
| 
 | ||||
| >>> | ||||
| # 5. Y affects M/D partial dates in periodic transactions. | ||||
| # The recur tag shows the original period expression and is not modified. | ||||
| $ hledger -f - print --forecast desc:forecast | ||||
| 2000-02-01 forecast | ||||
|     ; generated-transaction: ~ 2/1 | ||||
| 
 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 6. Y also sets the month to 1, affecting D dates: | ||||
| hledger -f - print --forecast desc:forecast | ||||
| <<< | ||||
| < | ||||
| Y 2000 | ||||
| 
 | ||||
| ~ 15  forecast | ||||
| @ -133,16 +123,14 @@ Y 2000 | ||||
| ; a real transaction to set the start of the forecast window | ||||
| 2000/1/1 real | ||||
| 
 | ||||
| >>> | ||||
| # 6. Y also sets the month to 1, affecting D dates: | ||||
| $ hledger -f - print --forecast desc:forecast | ||||
| 2000-01-15 forecast | ||||
|     ; generated-transaction: ~ 15 | ||||
| 
 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 7. Y also sets the day to 1, affecting relative dates: | ||||
| hledger -f - print --forecast desc:forecast | ||||
| <<< | ||||
| < | ||||
| Y 2000 | ||||
| 
 | ||||
| ~ next month  forecast | ||||
| @ -150,17 +138,15 @@ Y 2000 | ||||
| ; a real transaction to set the start of the forecast window | ||||
| 2000/1/1 real | ||||
| 
 | ||||
| >>> | ||||
| # 7. Y also sets the day to 1, affecting relative dates: | ||||
| $ hledger -f - print --forecast desc:forecast | ||||
| 2000-02-01 forecast | ||||
|     ; generated-transaction: ~ next month | ||||
| 
 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| 
 | ||||
| # 8. A balance report with forecast-begin enabling transaction before report end | ||||
| hledger bal -M -b 2016-10 -e 2017-02 -f - --forecast=20160801- | ||||
| <<< | ||||
| < | ||||
| 2016/12/31 | ||||
|     expenses:housing  $600 | ||||
|     assets:cash | ||||
| @ -168,7 +154,9 @@ hledger bal -M -b 2016-10 -e 2017-02 -f - --forecast=20160801- | ||||
| ~ monthly from 2016/1  salary | ||||
|     income  $-1000 | ||||
|     assets:cash | ||||
| >>> | ||||
| 
 | ||||
| # 8. A balance report with forecast-begin enabling transaction before report end | ||||
| $ hledger bal -M -b 2016-10 -e 2017-02 -f - --forecast=20160801- | ||||
| Balance changes in 2016-10-01..2017-01-31: | ||||
| 
 | ||||
|                   || 2016-10  2016-11  2016-12  2017-01  | ||||
| @ -178,21 +166,12 @@ Balance changes in 2016-10-01..2017-01-31: | ||||
|  income           ||  $-1000   $-1000   $-1000   $-1000  | ||||
| ------------------++------------------------------------ | ||||
|                   ||       0        0        0        0  | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 9. Parse error in malformed forecast period expression | ||||
| hledger bal -M -b 2016-10 -e 2017-02 -f - --forecast=20160801-foobar | ||||
| <<< | ||||
| 2016/12/31 | ||||
|     expenses:housing  $600 | ||||
|     assets:cash | ||||
| 
 | ||||
| ~ monthly from 2016/1  salary | ||||
|     income  $-1000 | ||||
|     assets:cash | ||||
| >>> | ||||
| >>>2 | ||||
| $ hledger bal -M -b 2016-10 -e 2017-02 -f - --forecast=20160801-foobar | ||||
| > | ||||
| >2 | ||||
| hledger: could not parse forecast period : 1:10: | ||||
|   | | ||||
| 1 | 20160801-foobar | ||||
| @ -200,11 +179,9 @@ hledger: could not parse forecast period : 1:10: | ||||
| unexpected 'f' | ||||
| expecting end of input | ||||
|  (use -h to see usage) | ||||
| >>>=1 | ||||
| >=1 | ||||
| 
 | ||||
| # 10. Amount display style is applied to forecasted transactions. | ||||
| hledger -f - reg --forecast date:202001 | ||||
| <<< | ||||
| < | ||||
| commodity 1,000.00 USD | ||||
| 
 | ||||
| 2020-01-01 | ||||
| @ -213,32 +190,28 @@ commodity 1,000.00 USD | ||||
| ~ every 28th day | ||||
|   (a)       1000.00 USD | ||||
| 
 | ||||
| >>> | ||||
| # 10. Amount display style is applied to forecasted transactions. | ||||
| $ hledger -f - reg --forecast date:202001 | ||||
| 2020-01-01                      (a)                   1,000.00 USD  1,000.00 USD | ||||
| 2020-01-28                      (a)                   1,000.00 USD  2,000.00 USD | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 11. Forecast transactions are generated up to the day before the requested end date | ||||
| hledger -f - reg -b 2021-01-01 -e 2021-01-05 --forecast | ||||
| <<< | ||||
| < | ||||
| 2021-01-01 | ||||
|   (a)      1000 | ||||
| 
 | ||||
| ~ daily | ||||
|   (a)       1 | ||||
| 
 | ||||
| >>> | ||||
| # 11. Forecast transactions are generated up to the day before the requested end date | ||||
| $ hledger -f - reg -b 2021-01-01 -e 2021-01-05 --forecast | ||||
| 2021-01-01                      (a)                           1000          1000 | ||||
| 2021-01-02                      (a)                              1          1001 | ||||
| 2021-01-03                      (a)                              1          1002 | ||||
| 2021-01-04                      (a)                              1          1003 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 12. Forecast transactions work with balance assignments | ||||
| hledger -f - print -x --forecast -e 2021-11 | ||||
| <<< | ||||
| < | ||||
| 2021-09-01  Normal Balance Assertion Works | ||||
|     Checking   = -60 | ||||
|     Costs | ||||
| @ -251,7 +224,8 @@ hledger -f - print -x --forecast -e 2021-11 | ||||
|     Checking      = -120 | ||||
|     Costs | ||||
| 
 | ||||
| >>> | ||||
| # 12. Forecast transactions work with balance assignments | ||||
| $ hledger -f - print -x --forecast -e 2021-11 | ||||
| 2021-09-01 Normal Balance Assertion Works | ||||
|     Checking             -60 = -60 | ||||
|     Costs                 60 | ||||
| @ -266,19 +240,18 @@ hledger -f - print -x --forecast -e 2021-11 | ||||
|     Checking             -20 = -120 | ||||
|     Costs                 20 | ||||
| 
 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 13. Generated forecast for weekday transactions | ||||
| hledger -f - reg --forecast -b "2021-09-01" -e "2021-09-15" --forecast -w 100 | ||||
| <<< | ||||
| < | ||||
| 2021-08-01 | ||||
|   (a)      0 | ||||
| 
 | ||||
| ~ every weekday | ||||
|   income:client1                    -10 USD | ||||
|   assets:receivables:contractor1 | ||||
| >>> | ||||
| 
 | ||||
| # 13. Generated forecast for weekday transactions | ||||
| $ hledger -f - reg --forecast -b "2021-09-01" -e "2021-09-15" --forecast -w 100 | ||||
| 2021-09-01                                income:client1                       -10 USD       -10 USD | ||||
|                                           assets:receivables:contractor1        10 USD             0 | ||||
| 2021-09-02                                income:client1                       -10 USD       -10 USD | ||||
| @ -299,19 +272,18 @@ hledger -f - reg --forecast -b "2021-09-01" -e "2021-09-15" --forecast -w 100 | ||||
|                                           assets:receivables:contractor1        10 USD             0 | ||||
| 2021-09-14                                income:client1                       -10 USD       -10 USD | ||||
|                                           assets:receivables:contractor1        10 USD             0 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 14. Generated forecast for weekend transactions | ||||
| hledger -f - reg --forecast -b "2021-09-01" -e "2021-09-15" --forecast -w 100 | ||||
| <<< | ||||
| < | ||||
| 2021-08-01 | ||||
|   (a)      0 | ||||
| 
 | ||||
| ~ every weekendday | ||||
|   income:client1                    -10 USD | ||||
|   assets:receivables:contractor1 | ||||
| >>> | ||||
| 
 | ||||
| # 14. Generated forecast for weekend transactions | ||||
| $ hledger -f - reg --forecast -b "2021-09-01" -e "2021-09-15" --forecast -w 100 | ||||
| 2021-09-04                                income:client1                       -10 USD       -10 USD | ||||
|                                           assets:receivables:contractor1        10 USD             0 | ||||
| 2021-09-05                                income:client1                       -10 USD       -10 USD | ||||
| @ -320,5 +292,4 @@ hledger -f - reg --forecast -b "2021-09-01" -e "2021-09-15" --forecast -w 100 | ||||
|                                           assets:receivables:contractor1        10 USD             0 | ||||
| 2021-09-12                                income:client1                       -10 USD       -10 USD | ||||
|                                           assets:receivables:contractor1        10 USD             0 | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >=0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user