Add PyPy support
Use functions and =assert= instead of =TestCase=
Merge branch 'flat-tests'