Split test cases out into separate files

Addresses #20.