Refactored tests to make more manageable, made pass against updated types, fixed issues that were uncovered