Added test framework.

Is there a reason to prefer one over the other, @snorp?