Ref: http://en.wikipedia.org/wiki/Conway’s_Game_of_Life
It separates the logic (in the Library project) from the UI (console project).
Open in Visual Studio, and Run the Console project. You are prompted to input the following 3 variables:
Width:
Height:
Generations:
The console window will be set to the dimensions you set, and the game will run for the input number of generations.
Follow the commit history and comments to see how the code developed from tests written first, and then the code filled in to pass the tests. And finally the UI was added to call the working library.