Currently, the tests are in one file and are a bit of a mess. The tests should be broken into different files.