- Modified the LR-table-generation tests so they compile again; however, they won't work correctly until we modify the "expected" tables to use LrParserActionSet instead of Set<LrParserAction>.
- Modified the table-generating tests so they use LrParserActionSet.
- Created an internal TestHelpers module which contains a type, Assert, which implements some generic wrappers around NUnit.Framework.Assert methods; these are used instead of the 'obj'-based Assert methods to avoid type-related exceptions when running the unit tests (without the generic methods, the compiler will happily compile invalid code by silently upcasting to 'obj').
- Moved the 'terminalsAndNonterminals' function from the test project into a static method of the Grammar type (and renamed it to 'SymbolSets').
- Modified the test code to use our new generic implementation of Assert.AreEqual to avoid typing-related issues when running the unit tests.
- As of this commit, the unit tests compile successfully again and can be run with NUnit 2.6.2; the table-generation tests are currently failing, however, due to some changes in the way we generate the parser tables (the numbering of the parser states is different).