Learning Scala by implementing the game of life with TDD