TDD and Automated Unit Testing for Console Application

You can find the code samples used in this post on this GitHub repository. Some friends of mine complained that sometimes they are not able to apply TDD or write automated unit tests for some kinds of modules or applications and the one on the top of these kinds is Console applications. How could I test a console application when the input is passed by key strokes and the output is presented on a screen?!! Actually this happens from time...