This commit is contained in:
Simon Michael 2010-03-09 01:43:25 +00:00
parent 08607362b0
commit 993972549a
3 changed files with 46 additions and 22 deletions

View File

@ -59,8 +59,8 @@ runtests opts args = do
-- The latter is probably the way forward.
tests :: Test
tests = TestList [
tests_Register,
tests_Ledger,
tests_Commands,
"account directive" ~:
let sameParse str1 str2 = do l1 <- journalFromString str1
@ -784,23 +784,6 @@ tests = TestList [
-- "next friday" `gives` "2008/11/28"
-- "next january" `gives` "2009/01/01"
,"splitSpan" ~: do
let gives (interval, span) = (splitSpan interval span `is`)
(NoInterval,mkdatespan "2008/01/01" "2009/01/01") `gives`
[mkdatespan "2008/01/01" "2009/01/01"]
(Quarterly,mkdatespan "2008/01/01" "2009/01/01") `gives`
[mkdatespan "2008/01/01" "2008/04/01"
,mkdatespan "2008/04/01" "2008/07/01"
,mkdatespan "2008/07/01" "2008/10/01"
,mkdatespan "2008/10/01" "2009/01/01"
]
(Quarterly,nulldatespan) `gives`
[nulldatespan]
(Daily,mkdatespan "2008/01/01" "2008/01/01") `gives`
[mkdatespan "2008/01/01" "2008/01/01"]
(Quarterly,mkdatespan "2008/01/01" "2008/01/01") `gives`
[mkdatespan "2008/01/01" "2008/01/01"]
,"subAccounts" ~: do
l <- liftM cacheLedger' sampleledger
let a = ledgerAccount l "assets"

View File

@ -21,6 +21,7 @@ module Ledger (
module Ledger.TimeLog,
module Ledger.Types,
module Ledger.Utils,
tests_Ledger
)
where
import Ledger.Account
@ -37,3 +38,21 @@ import Ledger.Posting
import Ledger.TimeLog
import Ledger.Types
import Ledger.Utils
tests_Ledger = TestList
[
-- Ledger.Account.tests_Account
-- ,Ledger.AccountName.tests_AccountName
-- ,Ledger.Amount.tests_Amount
-- ,Ledger.Commodity.tests_Commodity
Ledger.Dates.tests_Dates
-- ,Ledger.IO.tests_IO
-- ,Ledger.Transaction.tests_Transaction
-- ,Ledger.Ledger.tests_Ledger
-- ,Ledger.Parse.tests_Parse
-- ,Ledger.Journal.tests_Journal
-- ,Ledger.Posting.tests_Posting
-- ,Ledger.TimeLog.tests_TimeLog
-- ,Ledger.Types.tests_Types
-- ,Ledger.Utils.tests_Utils
]

View File

@ -420,8 +420,30 @@ justdatespan rdate = do
d <- smartdate
return $ spanFromSmartDate rdate d
nulldatespan = DateSpan Nothing Nothing
mkdatespan :: String -> String -> DateSpan
mkdatespan b = DateSpan (Just $ parsedate b) . Just . parsedate
nulldate = parsedate "1900/01/01"
nulldatespan = DateSpan Nothing Nothing
nulldate = parsedate "1900/01/01"
tests_Dates = TestList [
"splitSpan" ~: do
let gives (interval, span) = (splitSpan interval span `is`)
(NoInterval,mkdatespan "2008/01/01" "2009/01/01") `gives`
[mkdatespan "2008/01/01" "2009/01/01"]
(Quarterly,mkdatespan "2008/01/01" "2009/01/01") `gives`
[mkdatespan "2008/01/01" "2008/04/01"
,mkdatespan "2008/04/01" "2008/07/01"
,mkdatespan "2008/07/01" "2008/10/01"
,mkdatespan "2008/10/01" "2009/01/01"
]
(Quarterly,nulldatespan) `gives`
[nulldatespan]
(Daily,mkdatespan "2008/01/01" "2008/01/01") `gives`
[mkdatespan "2008/01/01" "2008/01/01"]
(Quarterly,mkdatespan "2008/01/01" "2008/01/01") `gives`
[mkdatespan "2008/01/01" "2008/01/01"]
]