We have tests

This isn't meant to be merged yet. I just got one working, so when you're ready you can add some more tests to this pr.