Initial working version of file.  Needs more complete tests.
Added more robust tests.  Make assert statements == not is.
Fix line lengths so code is readable.