tests: port another to easytest
This commit is contained in:
parent
1a38beaad1
commit
9c0483fef2
@ -701,12 +701,74 @@ test_postingp = TestCase $ do
|
|||||||
--- * more tests
|
--- * more tests
|
||||||
|
|
||||||
tests_Hledger_Read_JournalReader = TestList [
|
tests_Hledger_Read_JournalReader = TestList [
|
||||||
test_postingp,
|
test_postingp
|
||||||
|
]
|
||||||
|
|
||||||
"showParsedMarketPrice" ~: do
|
easytests = tests "JournalReader" [
|
||||||
let mp = parseWithState mempty marketpricedirectivep "P 2017/01/30 BTC $922.83\n"
|
|
||||||
mpString = (fmap . fmap) showMarketPrice mp
|
tests "transactionmodifierp" [
|
||||||
mpString `is` (Just (Right "P 2017/01/30 BTC $922.83"))
|
|
||||||
|
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
|
{- old hunit tests TODO
|
||||||
,"periodictransactionp" ~: do
|
,"periodictransactionp" ~: do
|
||||||
@ -784,65 +846,6 @@ tests_Hledger_Read_JournalReader = TestList [
|
|||||||
assertAmountParse (parseWithState mempty amountp "1 @ $2")
|
assertAmountParse (parseWithState mempty amountp "1 @ $2")
|
||||||
(num 1 `withPrecision` 0 `at` (usd 2 `withPrecision` 0))
|
(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