in reply to Critique requested for module code - QuickMemo+ reader
"I have been enjoying refactoring and letting the tests help me find the errors."
Don't get complacent. You have barely a minimal amount of tests there. You're not covering any edge cases. You're doing the smallest amount of testing possible. It's definitely better than nothing, but there's room for improvement.
Every single time you make a change to your code, you should have a test case for it. Hell, write the test before you write the code. The test should fail before you make the change, then succeed after you've changed code. All other tests should still pass.
You want your test suite to test every single unimaginable scenario that your weird ass users can throw at it. Stuff you can't even imagine. Guess what... users do these kinds of things, trust me.
You ask the user for a banana as a function parameter, and they throw in human body parts. Be prepared for these things, because your code may be allergic to human flesh, and a crash could cause invalid data to be returned.