diff --git a/tests/balance/balance.test b/tests/balance/balance.test index 4eb9d17a6..072674d88 100644 --- a/tests/balance/balance.test +++ b/tests/balance/balance.test @@ -15,7 +15,7 @@ hledger -f sample.journal balance 0 >>>=0 -# 2. +# 2. hledger -f sample.journal balance o >>> $1 expenses:food @@ -26,3 +26,125 @@ hledger -f sample.journal balance o $-1 >>>=0 +# 3. Period reporting works for a specific year +hledger -f - balance -b 2016 -e 2017 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> + $-40.00 assets:checking + $50.00 expense:hosting + $-10.00 revenue:clients:B +-------------------- + 0 +>>>2 +>>>= 0 + +# 4. Period reporting works for two years +hledger -f - balance -b 2015 -e 2017 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> + $9,960.00 assets:checking + $50.00 expense:hosting + $-10,010.00 revenue:clients + $-10,000.00 A + $-10.00 B +-------------------- + 0 +>>>2 +>>>= 0 + +# 5. Period reporting works for one month +hledger -f - balance -b 2015/11 -e 2015/12 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> + 0 assets + $10,000.00 checking + $-10,000.00 receivables +-------------------- + 0 +>>>2 +>>>= 0 + +# 6. Period reporting works for one month in another year +hledger -f - balance -b 2016/10 -e 2016/11 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +-------------------- + 0 +>>>2 +>>>= 0 diff --git a/tests/cashflow/cashflow.test b/tests/cashflow/cashflow.test index e8ef2e817..657cb0690 100644 --- a/tests/cashflow/cashflow.test +++ b/tests/cashflow/cashflow.test @@ -17,3 +17,146 @@ Total: 1 >>>2 >>>= 0 + +# 2. Period reporting works for a specific year +hledger -f - cashflow -b 2016 -e 2017 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Cashflow Statement + +Cash flows: + $-40.00 assets:checking +-------------------- + $-40.00 + +Total: +-------------------- + $-40.00 +>>>2 +>>>= 0 + +# 3. Period reporting works for two years +hledger -f - cashflow -b 2015 -e 2017 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Cashflow Statement + +Cash flows: + $9,960.00 assets:checking +-------------------- + $9,960.00 + +Total: +-------------------- + $9,960.00 +>>>2 +>>>= 0 + +# 4. Period reporting works for one month +hledger -f - cashflow -b 2015/11 -e 2015/12 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Cashflow Statement + +Cash flows: + $10,000.00 assets:checking +-------------------- + $10,000.00 + +Total: +-------------------- + $10,000.00 +>>>2 +>>>= 0 + +# 5. Period reporting works for one month in another year +hledger -f - cashflow -b 2016/10 -e 2016/11 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Cashflow Statement + +Cash flows: +-------------------- + 0 + +Total: +-------------------- + 0 +>>>2 +>>>= 0 diff --git a/tests/incomestatement/incomestatement.test b/tests/incomestatement/incomestatement.test index 39c63d6b7..d6cf848fa 100644 --- a/tests/incomestatement/incomestatement.test +++ b/tests/incomestatement/incomestatement.test @@ -1,4 +1,4 @@ -# 1. +# 1. Simple statement works hledger -f - incomestatement <<< 2016/1/1 @@ -21,3 +21,166 @@ Total: 1 >>>2 >>>= 0 + +# 2. Period reporting works for a specific year +hledger -f - incomestatement -b 2016 -e 2017 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Income Statement + +Revenues: + $-10.00 revenue:clients:B +-------------------- + $-10.00 + +Expenses: + $50.00 expense:hosting +-------------------- + $50.00 + +Total: +-------------------- + $40.00 +>>>2 +>>>= 0 + +# 3. Period reporting works for two years +hledger -f - incomestatement -b 2015 -e 2017 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Income Statement + +Revenues: + $-10,010.00 revenue:clients + $-10,000.00 A + $-10.00 B +-------------------- + $-10,010.00 + +Expenses: + $50.00 expense:hosting +-------------------- + $50.00 + +Total: +-------------------- + $-9,960.00 +>>>2 +>>>= 0 + +# 4. Period reporting works for one month +hledger -f - incomestatement -b 2015/10 -e 2015/11 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Income Statement + +Revenues: + $-10,000.00 revenue:clients:A +-------------------- + $-10,000.00 + +Expenses: +-------------------- + 0 + +Total: +-------------------- + $-10,000.00 +>>>2 +>>>= 0 + +# 5. Period reporting works for one month in another year +hledger -f - incomestatement -b 2016/10 -e 2016/11 +<<< +2015/10/10 Client A | Invoice #1 + assets:receivables $10,000.00 + revenue:clients:A -$10,000.00 + +2015/11/02 Deposit | Invoice #1 + assets:checking $10,000.00 + assets:receivables -$10,000.00 + +2016/02/01 Client B | Invoice #2 + assets:receivables $10.00 + revenue:clients:B -$10.00 + +2016/02/15 ACME | Hosting Costs + expense:hosting $50.00 + assets:checking -$50.00 + +2016/03/01 Deposit | Invoice #2 + assets:checking $10.00 + assets:receivables -$10.00 +>>> +Income Statement + +Revenues: +-------------------- + 0 + +Expenses: +-------------------- + 0 + +Total: +-------------------- + 0 +>>>2 +>>>= 0