This repository includes my example solution for a Fizz Buzz challenge. There was a time limit of 1.5 hours so I committed no more changes after the time had elapsed.
To create a solution to the Fizz Buzz problem, using C#, that is built using Reflection and which demonstrates a clean, Test Driven approach using SOLID design principles.
Given a range of numbers, loop through each number and output the following:
- If the number is divisible by 3 then output the word Fizz instead of the number.
- If the number is divisible by 5 then output the word Buzz instead of the number.
- If the number is divisible by both 3 and 5 then output the word Fizzbuzz instead of the number.
- If none of the above conditions are met then output the number.
For the purpose of this test you should use a range of 1 to 100. Output of the results should be to a console window.
The solution should:
- Have a commit history that demonstrates the approach to your unit tests. For example, a commit that shows your failing test, another that shows your implementation and so on as you implement more and more of your solution.
- Have no failing tests.
- Show your knowledge of SOLID design patterns and how they can be used within C#.
- Demonstrate your approach to writing clean, production grade code.
- Take no more than 1.5 hours from start to finish (trackable from your commit history).