Unit Tests

These unit tests currently all pass for the given methods and parameters
which have been specified within the tests themselves, these will be
expanded later