tests: Ledger -> easytest

This commit is contained in:
Simon Michael 2018-09-04 10:24:07 -07:00
parent d5c756e6c8
commit c5cd0dc648
2 changed files with 32 additions and 15 deletions

View File

@ -52,17 +52,14 @@ import Hledger.Utils.Test
tests_Hledger_Data = TestList tests_Hledger_Data = TestList
[ [
tests_Hledger_Data_Ledger tests_Hledger_Data_Posting
,tests_Hledger_Data_Posting
-- ,tests_Hledger_Data_RawOptions
-- ,tests_Hledger_Data_StringFormat
,tests_Hledger_Data_Timeclock ,tests_Hledger_Data_Timeclock
,tests_Hledger_Data_Transaction ,tests_Hledger_Data_Transaction
-- ,tests_Hledger_Data_Types
] ]
easytests_Data = tests "Data" [ easytests_Data = tests "Data" [
easytests_AccountName easytests_AccountName
,easytests_Amount ,easytests_Amount
,easytests_Journal ,easytests_Journal
,easytests_Ledger
] ]

View File

@ -7,15 +7,31 @@ balances, and postings in each account.
-} -}
module Hledger.Data.Ledger {-# LANGUAGE OverloadedStrings #-}
module Hledger.Data.Ledger (
nullledger
,ledgerFromJournal
,ledgerAccountNames
,ledgerAccount
,ledgerRootAccount
,ledgerTopAccounts
,ledgerLeafAccounts
,ledgerAccountsMatching
,ledgerPostings
,ledgerDateSpan
,ledgerCommodities
,easytests_Ledger
)
where where
import qualified Data.Map as M import qualified Data.Map as M
-- import Data.Text (Text) -- import Data.Text (Text)
import qualified Data.Text as T import qualified Data.Text as T
import Safe (headDef) import Safe (headDef)
import Text.Printf import Text.Printf
import Hledger.Utils.Test import Hledger.Utils.Test hiding (is)
import Hledger.Data.Types import Hledger.Data.Types
import Hledger.Data.Account import Hledger.Data.Account
import Hledger.Data.Journal import Hledger.Data.Journal
@ -89,13 +105,17 @@ ledgerDateSpan = postingsDateSpan . ledgerPostings
ledgerCommodities :: Ledger -> [CommoditySymbol] ledgerCommodities :: Ledger -> [CommoditySymbol]
ledgerCommodities = M.keys . jinferredcommodities . ljournal ledgerCommodities = M.keys . jinferredcommodities . ljournal
-- tests
is :: (Eq a, Show a, HasCallStack) => a -> a -> Test ()
is = flip expectEq'
easytests_Ledger = tests "Ledger" [
tests "ledgerFromJournal" [
(length $ ledgerPostings $ ledgerFromJournal Any nulljournal) `is` 0
,(length $ ledgerPostings $ ledgerFromJournal Any samplejournal) `is` 13
,(length $ ledgerPostings $ ledgerFromJournal (Depth 2) samplejournal) `is` 7
]
tests_ledgerFromJournal = [
"ledgerFromJournal" ~: do
assertEqual "" (0) (length $ ledgerPostings $ ledgerFromJournal Any nulljournal)
assertEqual "" (13) (length $ ledgerPostings $ ledgerFromJournal Any samplejournal)
assertEqual "" (7) (length $ ledgerPostings $ ledgerFromJournal (Depth 2) samplejournal)
] ]
tests_Hledger_Data_Ledger = TestList $
tests_ledgerFromJournal