Added test framework - closes #17