Feature: Command line interface
Scenario: Initialize repository
Given I initialize a repository
Then a repo data directory exists
Scenario: Create a new anchor
Given I initialize a repository
And I create the source file "source.py"
When I create a new anchor for "source.py" at offset 19
Then an anchor for "source.py" at line 3 appears in the listing
Scenario: Validate unchanged source
Given I initialize a repository
And I create the source file "source.py"
When I create a new anchor for "source.py" at offset 19
Then the repository is valid
Scenario: Validate modified source
Given I initialize a repository
And I create the source file "source.py"
When I create a new anchor for "source.py" at offset 19
When I modify "source.py"
Then the repository is invalid
Scenario: External files are rejected
Given I initialize a repository
Then anchoring an external file fails