New better tests, and added a general test class with lots of tasty functions