Add initial unit tests

* Set up basic infrastructure to create unit tests in hopes that others will
  follow :)
* Black box tests run in conjunction with new tests