Adding unit tests and acceptance tests.