glenjarvis/Lemonade — pull request #20 by glenjarvis (2014-09-18 06:13:27+00:00)
Title: Features/bdd journal format.feature

This successfully implements `features/journal_format.feature`

```
prompt> behave features/journal_format.feature
Feature: Opening, Reading and Importing General Journal # features/journal_format.feature:1
As a user of Lemonade, I want to be able to read my General
Journal. I may edit it manually and I still want it to be
function like normal in Lemonade.
Scenario: General Journal has a title # features/journal_format.feature:6
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When the first row is read # features/steps/journal.py:34 0.000s
Then the title of the journal will be on the first row and first column # features/steps/journal.py:51 0.000s

Scenario Outline: General Journal has headers # features/journal_format.feature:11
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When the third row is read # features/steps/journal.py:34 0.000s
Then the header 'Date' will be in column 'A' of that row # features/steps/journal.py:58 0.000s

Scenario Outline: General Journal has headers # features/journal_format.feature:11
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When the third row is read # features/steps/journal.py:34 0.000s
Then the header 'Account Title' will be in column 'B' of that row # features/steps/journal.py:58 0.000s

Scenario Outline: General Journal has headers # features/journal_format.feature:11
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When the third row is read # features/steps/journal.py:34 0.000s
Then the header 'Post Ref.' will be in column 'C' of that row # features/steps/journal.py:58 0.000s

Scenario Outline: General Journal has headers # features/journal_format.feature:11
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When the third row is read # features/steps/journal.py:34 0.000s
Then the header 'Debit' will be in column 'D' of that row # features/steps/journal.py:58 0.000s

Scenario Outline: General Journal has headers # features/journal_format.feature:11
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When the third row is read # features/steps/journal.py:34 0.000s
Then the header 'Credit' will be in column 'E' of that row # features/steps/journal.py:58 0.000s

Scenario: 'Date' field is populated in the first line item of a General Journal entry # features/journal_format.feature:24
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When I read a journal entry # features/steps/journal.py:66 0.003s
Then column 'Date' will be populated in the first line item and no other # features/steps/journal.py:73 0.000s

Scenario: 'Account Title' is only field populated on the last line item of a General Journal entry # features/journal_format.feature:29
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When I read a journal entry # features/steps/journal.py:66 0.000s
And I have the last line of that entry # features/steps/journal.py:79 0.000s
Then column 'Account Title' will be populated on that line # features/steps/journal.py:92 0.000s
And no columns except 'Account Title' will be populated on that line # features/steps/journal.py:97 0.000s

Scenario: All Journal entries should have line items with 'Account Title's # features/journal_format.feature:36
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When I read a journal entry # features/steps/journal.py:66 0.000s
Then each line item in that journal should have the 'Account Title' field populated # features/steps/journal.py:106 0.000s
And each line item in that journal (except the last line) should have the 'Post Ref.' field populated # features/steps/journal.py:112 0.000s

Scenario: All Journal entries should have equal sum of debits and sum of credits # features/journal_format.feature:42
Given I have a General Journal File # features/steps/journal.py:28 0.000s
When I read a journal entry # features/steps/journal.py:66 0.000s
Then each line item in that journal (except the last line) should have either a Debit or Credit entry # features/steps/journal.py:118 0.000s
And the sum of the 'Debit' column should equal the sum of the 'Credit' column. # features/steps/journal.py:126 0.000s

1 feature passed, 0 failed, 0 skipped
10 scenarios passed, 0 failed, 0 skipped
34 steps passed, 0 failed, 0 skipped, 0 undefined
Took 0m0.007s
```