completed test driven game of life