# 1.
hledger -f sample.journal balance --tree
>>>
                 $-1  assets
                  $1    bank:saving
                 $-2    cash
                  $2  expenses
                  $1    food
                  $1    supplies
                 $-2  income
                 $-1    gifts
                 $-1    salary
                  $1  liabilities:debts
--------------------
                   0  
>>>=0

# 2.
hledger -f sample.journal balance --tree o
>>>
                  $1  expenses:food
                 $-2  income
                 $-1    gifts
                 $-1    salary
--------------------
                 $-1  
>>>=0

# 3. Period reporting works for a specific year
hledger -f - balance -b 2016 -e 2017 -N
<<<
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
>>>2
>>>= 0

# 4. Period reporting works for two years
hledger -f - balance --tree -b 2015 -e 2017 -N
<<<
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
>>>2
>>>= 0

# 5. Period reporting works for one month
hledger -f - balance --tree -b 2015/11 -e 2015/12 -N
<<<
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
>>>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

# 7. Default CSV output. 
hledger -f - balance -N --output-format=csv
<<<
2021-01-01 Test
    Assets:ABC   "AB.C" 1
    Assets:Cash       -$1
>>>
"account","balance"
"Assets:ABC","""AB.C"" 1"
"Assets:Cash","$-1"
>>>= 0

# 8. CSV output always shows full account names, even in tree mode (#1565).
hledger -f - balance -N --output-format=csv --tree
<<<
2021-01-01 Test
    Assets:ABC   "AB.C" 1
    Assets:Cash       -$1
>>>
"account","balance"
"Assets","$-1, ""AB.C"" 1"
"Assets:ABC","""AB.C"" 1"
"Assets:Cash","$-1"
>>>= 0

