lib: Added a new transaction to samplejournal.
The new entry effectively adds a loan which is placed in the checking account. This loan is then closed by the "pay off" transaction (which was already present). This is mainly to be used as a test point for the -H option; to make sure -H does not show empty accounts. All previous tests were changed to reflect the new change. The documentation of the journal module was updated too.
This commit is contained in:
parent
a7f6b551c5
commit
9873bcfcba
@ -929,6 +929,10 @@ abspat pat = if isnegativepat pat then drop (length negateprefix) pat else pat
|
|||||||
-- expenses:supplies $1
|
-- expenses:supplies $1
|
||||||
-- assets:cash
|
-- assets:cash
|
||||||
--
|
--
|
||||||
|
-- 2008/10/01 take a loan
|
||||||
|
-- assets:bank:checking $1
|
||||||
|
-- liabilities:debts $-1
|
||||||
|
--
|
||||||
-- 2008/12/31 * pay off
|
-- 2008/12/31 * pay off
|
||||||
-- liabilities:debts $1
|
-- liabilities:debts $1
|
||||||
-- assets:bank:checking
|
-- assets:bank:checking
|
||||||
@ -1003,6 +1007,22 @@ Right samplejournal = journalBalanceTransactions False $
|
|||||||
],
|
],
|
||||||
tpreceding_comment_lines=""
|
tpreceding_comment_lines=""
|
||||||
}
|
}
|
||||||
|
,
|
||||||
|
txnTieKnot $ Transaction {
|
||||||
|
tindex=0,
|
||||||
|
tsourcepos=nullsourcepos,
|
||||||
|
tdate=parsedate "2008/10/01",
|
||||||
|
tdate2=Nothing,
|
||||||
|
tstatus=Unmarked,
|
||||||
|
tcode="",
|
||||||
|
tdescription="take a loan",
|
||||||
|
tcomment="",
|
||||||
|
ttags=[],
|
||||||
|
tpostings=["assets:bank:checking" `post` usd 1
|
||||||
|
,"liabilities:debts" `post` usd (-1)
|
||||||
|
],
|
||||||
|
tpreceding_comment_lines=""
|
||||||
|
}
|
||||||
,
|
,
|
||||||
txnTieKnot $ Transaction {
|
txnTieKnot $ Transaction {
|
||||||
tindex=0,
|
tindex=0,
|
||||||
|
|||||||
@ -93,8 +93,8 @@ ledgerCommodities = M.keys . jinferredcommodities . ljournal
|
|||||||
tests_ledgerFromJournal = [
|
tests_ledgerFromJournal = [
|
||||||
"ledgerFromJournal" ~: do
|
"ledgerFromJournal" ~: do
|
||||||
assertEqual "" (0) (length $ ledgerPostings $ ledgerFromJournal Any nulljournal)
|
assertEqual "" (0) (length $ ledgerPostings $ ledgerFromJournal Any nulljournal)
|
||||||
assertEqual "" (11) (length $ ledgerPostings $ ledgerFromJournal Any samplejournal)
|
assertEqual "" (13) (length $ ledgerPostings $ ledgerFromJournal Any samplejournal)
|
||||||
assertEqual "" (6) (length $ ledgerPostings $ ledgerFromJournal (Depth 2) samplejournal)
|
assertEqual "" (7) (length $ ledgerPostings $ ledgerFromJournal (Depth 2) samplejournal)
|
||||||
]
|
]
|
||||||
|
|
||||||
tests_Hledger_Data_Ledger = TestList $
|
tests_Hledger_Data_Ledger = TestList $
|
||||||
|
|||||||
@ -213,8 +213,10 @@ tests_balanceReport =
|
|||||||
,"balanceReport with no args on sample journal" ~: do
|
,"balanceReport with no args on sample journal" ~: do
|
||||||
(defreportopts, samplejournal) `gives`
|
(defreportopts, samplejournal) `gives`
|
||||||
([
|
([
|
||||||
("assets","assets",0, mamountp' "$-1.00")
|
("assets","assets",0, mamountp' "$0.00")
|
||||||
,("assets:bank:saving","bank:saving",1, mamountp' "$1.00")
|
,("assets:bank","bank",1, mamountp' "$2.00")
|
||||||
|
,("assets:bank:checking","checking",2, mamountp' "$1.00")
|
||||||
|
,("assets:bank:saving","saving",2, mamountp' "$1.00")
|
||||||
,("assets:cash","cash",1, mamountp' "$-2.00")
|
,("assets:cash","cash",1, mamountp' "$-2.00")
|
||||||
,("expenses","expenses",0, mamountp' "$2.00")
|
,("expenses","expenses",0, mamountp' "$2.00")
|
||||||
,("expenses:food","food",1, mamountp' "$1.00")
|
,("expenses:food","food",1, mamountp' "$1.00")
|
||||||
@ -222,27 +224,22 @@ tests_balanceReport =
|
|||||||
,("income","income",0, mamountp' "$-2.00")
|
,("income","income",0, mamountp' "$-2.00")
|
||||||
,("income:gifts","gifts",1, mamountp' "$-1.00")
|
,("income:gifts","gifts",1, mamountp' "$-1.00")
|
||||||
,("income:salary","salary",1, mamountp' "$-1.00")
|
,("income:salary","salary",1, mamountp' "$-1.00")
|
||||||
,("liabilities:debts","liabilities:debts",0, mamountp' "$1.00")
|
|
||||||
],
|
],
|
||||||
Mixed [usd0])
|
Mixed [usd0])
|
||||||
|
|
||||||
,"balanceReport with --depth=N" ~: do
|
,"balanceReport with --depth=N" ~: do
|
||||||
(defreportopts{depth_=Just 1}, samplejournal) `gives`
|
(defreportopts{depth_=Just 1}, samplejournal) `gives`
|
||||||
([
|
([
|
||||||
("assets", "assets", 0, mamountp' "$-1.00")
|
("expenses", "expenses", 0, mamountp' "$2.00")
|
||||||
,("expenses", "expenses", 0, mamountp' "$2.00")
|
|
||||||
,("income", "income", 0, mamountp' "$-2.00")
|
,("income", "income", 0, mamountp' "$-2.00")
|
||||||
,("liabilities", "liabilities", 0, mamountp' "$1.00")
|
|
||||||
],
|
],
|
||||||
Mixed [usd0])
|
Mixed [usd0])
|
||||||
|
|
||||||
,"balanceReport with depth:N" ~: do
|
,"balanceReport with depth:N" ~: do
|
||||||
(defreportopts{query_="depth:1"}, samplejournal) `gives`
|
(defreportopts{query_="depth:1"}, samplejournal) `gives`
|
||||||
([
|
([
|
||||||
("assets", "assets", 0, mamountp' "$-1.00")
|
("expenses", "expenses", 0, mamountp' "$2.00")
|
||||||
,("expenses", "expenses", 0, mamountp' "$2.00")
|
|
||||||
,("income", "income", 0, mamountp' "$-2.00")
|
,("income", "income", 0, mamountp' "$-2.00")
|
||||||
,("liabilities", "liabilities", 0, mamountp' "$1.00")
|
|
||||||
],
|
],
|
||||||
Mixed [usd0])
|
Mixed [usd0])
|
||||||
|
|
||||||
@ -268,16 +265,13 @@ tests_balanceReport =
|
|||||||
,"balanceReport with not:desc:" ~: do
|
,"balanceReport with not:desc:" ~: do
|
||||||
(defreportopts{query_="not:desc:income"}, samplejournal) `gives`
|
(defreportopts{query_="not:desc:income"}, samplejournal) `gives`
|
||||||
([
|
([
|
||||||
("assets","assets",0, mamountp' "$-2.00")
|
("assets","assets",0, mamountp' "$-1.00")
|
||||||
,("assets:bank","bank",1, Mixed [usd0])
|
,("assets:bank:saving","bank:saving",1, mamountp' "$1.00")
|
||||||
,("assets:bank:checking","checking",2,mamountp' "$-1.00")
|
|
||||||
,("assets:bank:saving","saving",2, mamountp' "$1.00")
|
|
||||||
,("assets:cash","cash",1, mamountp' "$-2.00")
|
,("assets:cash","cash",1, mamountp' "$-2.00")
|
||||||
,("expenses","expenses",0, mamountp' "$2.00")
|
,("expenses","expenses",0, mamountp' "$2.00")
|
||||||
,("expenses:food","food",1, mamountp' "$1.00")
|
,("expenses:food","food",1, mamountp' "$1.00")
|
||||||
,("expenses:supplies","supplies",1, mamountp' "$1.00")
|
,("expenses:supplies","supplies",1, mamountp' "$1.00")
|
||||||
,("income:gifts","income:gifts",0, mamountp' "$-1.00")
|
,("income:gifts","income:gifts",0, mamountp' "$-1.00")
|
||||||
,("liabilities:debts","liabilities:debts",0, mamountp' "$1.00")
|
|
||||||
],
|
],
|
||||||
Mixed [usd0])
|
Mixed [usd0])
|
||||||
|
|
||||||
|
|||||||
@ -263,17 +263,17 @@ tests_postingsReport = [
|
|||||||
-- with the query specified explicitly
|
-- with the query specified explicitly
|
||||||
let (query, journal) `gives` n = (length $ snd $ postingsReport defreportopts query journal) `is` n
|
let (query, journal) `gives` n = (length $ snd $ postingsReport defreportopts query journal) `is` n
|
||||||
(Any, nulljournal) `gives` 0
|
(Any, nulljournal) `gives` 0
|
||||||
(Any, samplejournal) `gives` 11
|
(Any, samplejournal) `gives` 13
|
||||||
-- register --depth just clips account names
|
-- register --depth just clips account names
|
||||||
(Depth 2, samplejournal) `gives` 11
|
(Depth 2, samplejournal) `gives` 13
|
||||||
(And [Depth 1, StatusQ Cleared, Acct "expenses"], samplejournal) `gives` 2
|
(And [Depth 1, StatusQ Cleared, Acct "expenses"], samplejournal) `gives` 2
|
||||||
(And [And [Depth 1, StatusQ Cleared], Acct "expenses"], samplejournal) `gives` 2
|
(And [And [Depth 1, StatusQ Cleared], Acct "expenses"], samplejournal) `gives` 2
|
||||||
|
|
||||||
-- with query and/or command-line options
|
-- with query and/or command-line options
|
||||||
assertEqual "" 11 (length $ snd $ postingsReport defreportopts Any samplejournal)
|
assertEqual "" 13 (length $ snd $ postingsReport defreportopts Any samplejournal)
|
||||||
assertEqual "" 9 (length $ snd $ postingsReport defreportopts{interval_=Months 1} Any samplejournal)
|
assertEqual "" 11 (length $ snd $ postingsReport defreportopts{interval_=Months 1} Any samplejournal)
|
||||||
assertEqual "" 19 (length $ snd $ postingsReport defreportopts{interval_=Months 1, empty_=True} Any samplejournal)
|
assertEqual "" 20 (length $ snd $ postingsReport defreportopts{interval_=Months 1, empty_=True} Any samplejournal)
|
||||||
assertEqual "" 4 (length $ snd $ postingsReport defreportopts (Acct "assets:bank:checking") samplejournal)
|
assertEqual "" 5 (length $ snd $ postingsReport defreportopts (Acct "assets:bank:checking") samplejournal)
|
||||||
|
|
||||||
-- (defreportopts, And [Acct "a a", Acct "'b"], samplejournal2) `gives` 0
|
-- (defreportopts, And [Acct "a a", Acct "'b"], samplejournal2) `gives` 0
|
||||||
-- [(Just (parsedate "2008-01-01","income"),assets:bank:checking $1,$1)
|
-- [(Just (parsedate "2008-01-01","income"),assets:bank:checking $1,$1)
|
||||||
|
|||||||
@ -55,6 +55,10 @@ Here's an example:
|
|||||||
expenses:supplies $1 ; <- this transaction debits two expense accounts
|
expenses:supplies $1 ; <- this transaction debits two expense accounts
|
||||||
assets:cash ; <- $-2 inferred
|
assets:cash ; <- $-2 inferred
|
||||||
|
|
||||||
|
2008/10/01 take a loan
|
||||||
|
assets:bank:checking $1
|
||||||
|
liabilities:debts $-1
|
||||||
|
|
||||||
2008/12/31 * pay off ; <- an optional * or ! after the date means "cleared" (or anything you want)
|
2008/12/31 * pay off ; <- an optional * or ! after the date means "cleared" (or anything you want)
|
||||||
liabilities:debts $1
|
liabilities:debts $1
|
||||||
assets:bank:checking
|
assets:bank:checking
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user