Test runner

Resolved merge conflicts for #185.