Added more aggressive negative cases and fixed a few parsing bugs exposed by the new test cases (unit testing ftw).