This was completed using Visual Studio 2017, using C# and NUnit.
To execute the logic, run the tests.
I adopted a TDD approach to solving this Kata.
I took small "baby steps" to construct the code and a Red, Green, Refactor test rhythm.
I've done this Kata many times before and have used it to teach others the techniques of TDD.
The surprising thing is I do it differently every time which I suppose is the genius of Katas!
I take great pride in writing good code, using the SOLID principles along with DRY and YAGNI. I hope you enjoy reading my commits and code!
Jamie Cox, 18 Feb 2018