Refactored the unittests and place them in seperate testclasses so that
it can be tested as units.