Implement initial unit tests.
Further unit tests
Finished unit tests.