Unit tests all pass

A lot of the tests need to be beefed up, etc. but at least they all pass again.