Part 4: The Tests That Caught My Own Mistakes

I added four new test suites before considering the code done.