basic unit testing and code coverage