At some point I wanted to learn how to write parsers so I bought the book Practical Parsing Techniques (which is also an excellent example of how you can write a book that is both technically sophisticated yet easy to read and understand). This project is code for implementing an LA(j)LR(k) parser generator whose tests are based on examples taken directly from the book (in most cases in the tests you'll see comments pointing to the exact page and figure). One of the tests does not pass out-of-the-box: this test actually discovered a typo in that edition of the book which, unfortunately, I missed reporting out on by a matter of weeks.
The layout and packaging are a bit different from what I'd do today. It looks like I started on a Ruby implementation (not included here) and had moved the tests into a separate package so that they could be used to validate both the Java and Ruby versions of the parser (a sort of TCK). I've moved the tests back into this single package for convenience.