Initial code commit

+ added main code files
+ added test case files (requires http://mockrunner.sourceforge.net/)