Adds a test suite and intial tests.

Fixes #21.