Pythonify and enhance the tests. 

Commit messages are pretty clear. Basic Pythonifying of the tests along with a few new tests.