Add solutions and unit tests for chapter 8: Object-Oriented Design