Let's just emphasize that it's often good software engineering practice to write tests even before you've written your functions in order to understand what answer you expect and how the function should behave. 