Added more tests and clearer output when something goes wrong (doesn't pick up all failures yet)