Unittest addition

Sorry about the tabbing issues.  Python normally uses 4 spaces for each indentation block.  Not tabs.  

But otherwise, this adds unittests!  they're fun.