Unit Testing for Blockchain Applications