Added a bunch of tests and mock objects