Exercise: Take a (contrived) project and make it unit-test friendly
'Master' branch has the exercise to be completed. 'Improved' branch has the author's solution, although there are many ways to solve this problem.
Try to add unit tests for all methods in this solution (excluding the static Main method). Moving methods to different classes, changing between static/dynamic, and adding interfaces is allowed and encouraged.