Feature/first unit tests

Here's the beginning of adding unit tests. There is still a good bit of work to do to improve coverage (currently 33.6% coverage by line).

Also, this PR depends on #2.
I'm not comfortable with this "auto-fix".
I didn't done this kind of auto-rewrite to keep difference between relative path error and full path.
Difficult to explain but I think it's a wrong idea to do that.