Add support for code coverage when running tests
Reorg tests
Add tests