Lessons Learned: Unit Test Strategies, Mock Objects, and Raphaël