tests: port another to easytest
This commit is contained in:
		
							parent
							
								
									1a38beaad1
								
							
						
					
					
						commit
						9c0483fef2
					
				| @ -701,12 +701,74 @@ test_postingp = TestCase $ do | ||||
| --- * more tests | ||||
| 
 | ||||
| tests_Hledger_Read_JournalReader = TestList [ | ||||
|     test_postingp, | ||||
|     test_postingp | ||||
|   ] | ||||
| 
 | ||||
|     "showParsedMarketPrice" ~: do | ||||
|       let mp = parseWithState mempty marketpricedirectivep "P 2017/01/30 BTC $922.83\n" | ||||
|           mpString = (fmap . fmap) showMarketPrice mp | ||||
|       mpString `is` (Just (Right "P 2017/01/30 BTC $922.83")) | ||||
| easytests = tests "JournalReader" [ | ||||
| 
 | ||||
|    tests "transactionmodifierp" [ | ||||
| 
 | ||||
|     test "basic" $ expectParseEq transactionmodifierp  | ||||
|       "= (some value expr)\n some:postings  1.\n" | ||||
|       nulltransactionmodifier { | ||||
|         tmquerytxt = "(some value expr)" | ||||
|        ,tmpostings = [nullposting{paccount="some:postings", pamount=Mixed[num 1]}] | ||||
|       } | ||||
|     ] | ||||
| 
 | ||||
|   ,tests "periodictransactionp" [ | ||||
| 
 | ||||
|     test "more-period-text-in-comment-after-one-space" $ expectParseEq periodictransactionp | ||||
|       "~ monthly from 2018/6 ;In 2019 we will change this\n"  | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly from 2018/6" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan (Just $ parsedate "2018/06/01") Nothing | ||||
|         ,ptstatus      = Unmarked | ||||
|         ,ptcode        = "" | ||||
|         ,ptdescription = "" | ||||
|         ,ptcomment     = "In 2019 we will change this\n" | ||||
|         ,pttags        = [] | ||||
|         ,ptpostings    = [] | ||||
|         } | ||||
| 
 | ||||
|      -- TODO #807 | ||||
|     ,_test "more-period-text-in-description-after-two-spaces" $ expectParseEq periodictransactionp  | ||||
|       "~ monthly from 2018/6   In 2019 we will change this\n"  | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly from 2018/6" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan (Just $ parsedate "2018/06/01") Nothing | ||||
|         ,ptdescription = "In 2019 we will change this\n" | ||||
|         } | ||||
| 
 | ||||
|     ,_test "more-period-text-in-description-after-one-space" $ expectParseEq periodictransactionp | ||||
|       "~ monthly from 2018/6 In 2019 we will change this\n"  | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly from 2018/6" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan (Just $ parsedate "2018/06/01") Nothing | ||||
|         ,ptdescription = "In 2019 we will change this\n" | ||||
|         } | ||||
| 
 | ||||
|     ,_test "Next-year-in-description" $ expectParseEq periodictransactionp | ||||
|       "~ monthly  Next year blah blah\n" | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan Nothing Nothing | ||||
|         ,ptdescription = "Next year blah blah\n" | ||||
|         } | ||||
| 
 | ||||
|     ,transactionp_tests | ||||
| 
 | ||||
|     ,test "showParsedMarketPrice" $ expectParseEq marketpricedirectivep | ||||
|       "P 2017/01/30 BTC $922.83\n" | ||||
|       MarketPrice{ | ||||
|         mpdate      = parsedate "2017/01/30", | ||||
|         mpcommodity = "BTC", | ||||
|         mpamount    = usd 922.83 | ||||
|         } | ||||
| 
 | ||||
| {- old hunit tests TODO | ||||
|   ,"periodictransactionp" ~: do | ||||
| @ -784,65 +846,6 @@ tests_Hledger_Read_JournalReader = TestList [ | ||||
|      assertAmountParse (parseWithState mempty amountp "1 @ $2") | ||||
|        (num 1 `withPrecision` 0 `at` (usd 2 `withPrecision` 0)) | ||||
| -} | ||||
|   ] | ||||
| 
 | ||||
| easytests = tests "JournalReader" [ | ||||
| 
 | ||||
|    tests "transactionmodifierp" [ | ||||
| 
 | ||||
|     test "basic" $ expectParseEq transactionmodifierp  | ||||
|       "= (some value expr)\n some:postings  1.\n" | ||||
|       nulltransactionmodifier { | ||||
|         tmquerytxt = "(some value expr)" | ||||
|        ,tmpostings = [nullposting{paccount="some:postings", pamount=Mixed[num 1]}] | ||||
|       } | ||||
|     ] | ||||
| 
 | ||||
|   ,tests "periodictransactionp" [ | ||||
| 
 | ||||
|     test "more-period-text-in-comment-after-one-space" $ expectParseEq periodictransactionp | ||||
|       "~ monthly from 2018/6 ;In 2019 we will change this\n"  | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly from 2018/6" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan (Just $ parsedate "2018/06/01") Nothing | ||||
|         ,ptstatus      = Unmarked | ||||
|         ,ptcode        = "" | ||||
|         ,ptdescription = "" | ||||
|         ,ptcomment     = "In 2019 we will change this\n" | ||||
|         ,pttags        = [] | ||||
|         ,ptpostings    = [] | ||||
|         } | ||||
| 
 | ||||
|      -- TODO #807 | ||||
|     ,_test "more-period-text-in-description-after-two-spaces" $ expectParseEq periodictransactionp  | ||||
|       "~ monthly from 2018/6   In 2019 we will change this\n"  | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly from 2018/6" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan (Just $ parsedate "2018/06/01") Nothing | ||||
|         ,ptdescription = "In 2019 we will change this\n" | ||||
|         } | ||||
| 
 | ||||
|     ,_test "more-period-text-in-description-after-one-space" $ expectParseEq periodictransactionp | ||||
|       "~ monthly from 2018/6 In 2019 we will change this\n"  | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly from 2018/6" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan (Just $ parsedate "2018/06/01") Nothing | ||||
|         ,ptdescription = "In 2019 we will change this\n" | ||||
|         } | ||||
| 
 | ||||
|     ,_test "Next-year-in-description" $ expectParseEq periodictransactionp | ||||
|       "~ monthly  Next year blah blah\n" | ||||
|       nullperiodictransaction { | ||||
|          ptperiodexpr  = "monthly" | ||||
|         ,ptinterval    = Months 1 | ||||
|         ,ptspan        = DateSpan Nothing Nothing | ||||
|         ,ptdescription = "Next year blah blah\n" | ||||
|         } | ||||
| 
 | ||||
|     ,transactionp_tests | ||||
| 
 | ||||
|     ] | ||||
|   ] | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user