use bare filehandles rather than IO::File (patch from leont)'
keep test cases in lists, rather than a hash, for consistent ordering, and providing a test number on errors
use Test::More::is for better diagnostics on failure