Split up roundtrip test into separat test cases using the Theories runner to build up test input combinations. This also closes #22 from GitHub.