Adding acceptance tests and unit tests.