Rewrite the tests via a visistor
Merge pull request #61 from alex/visistor

Rewrite the tests via a visistor