From c5cd0dc64883aeee4b8912bfd43fc99692f8c130 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Tue, 4 Sep 2018 10:24:07 -0700 Subject: [PATCH] tests: Ledger -> easytest --- hledger-lib/Hledger/Data.hs | 7 ++---- hledger-lib/Hledger/Data/Ledger.hs | 40 ++++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/hledger-lib/Hledger/Data.hs b/hledger-lib/Hledger/Data.hs index b4d4e7507..8b4a06418 100644 --- a/hledger-lib/Hledger/Data.hs +++ b/hledger-lib/Hledger/Data.hs @@ -52,17 +52,14 @@ import Hledger.Utils.Test tests_Hledger_Data = TestList [ - tests_Hledger_Data_Ledger - ,tests_Hledger_Data_Posting - -- ,tests_Hledger_Data_RawOptions - -- ,tests_Hledger_Data_StringFormat + tests_Hledger_Data_Posting ,tests_Hledger_Data_Timeclock ,tests_Hledger_Data_Transaction - -- ,tests_Hledger_Data_Types ] easytests_Data = tests "Data" [ easytests_AccountName ,easytests_Amount ,easytests_Journal + ,easytests_Ledger ] diff --git a/hledger-lib/Hledger/Data/Ledger.hs b/hledger-lib/Hledger/Data/Ledger.hs index f207f0d63..c78c948c9 100644 --- a/hledger-lib/Hledger/Data/Ledger.hs +++ b/hledger-lib/Hledger/Data/Ledger.hs @@ -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 + import qualified Data.Map as M -- import Data.Text (Text) import qualified Data.Text as T import Safe (headDef) import Text.Printf -import Hledger.Utils.Test +import Hledger.Utils.Test hiding (is) import Hledger.Data.Types import Hledger.Data.Account import Hledger.Data.Journal @@ -89,13 +105,17 @@ ledgerDateSpan = postingsDateSpan . ledgerPostings ledgerCommodities :: Ledger -> [CommoditySymbol] 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