Feature/top level tests

This is just the framework. It needs to be updated with actual tests. Currently, `rubocop` will fail due to presence of `.rubocop.yml` and `.rubocop_todo.yml` files in subdirectories.
I think we should remove it, seems similar to checkstyle results the java parts generate.