Added SquaringCalculatorTests class to test project;
Added CanCalculateSquareOf unit test with 4 test cases.
Added SquaringCalculator class with default Calculate implementation
Build Passes, test fails
Added Squaring Calculator implementation
New feature request: runtime calculator selection. We diced to go with a strategy Pattern, and instantiation with a factory.
Added instantiation test to FibonacciTestsCalculator
Build Fails (requires interface declaration)
Added missing test attribute for CanCreateInstanceOfFibonacciCalculator
Added IOrdinalCalculator interface declaration
Build Passes, CanCreateInstanceOfFibonacciCalculator fails.
In order to support the IOrdinalInterface, Calculate may no longer be static. We may resolve this in a couple of ways: rename the static method (maintaining it) and implement the interface's method, who simple calls the static method (in order to not repeat the logic) or simply remove the static method. I have choosen for this case to remove the static method. I will there fore need to fix the tests that were based on the static calculate method.
Added the interface and removed the static keyword
Build fails.
Fixed tests; All tests pass
Renamed Fibonacci test file
For SquaringCalculator, we will use a different method -  we will maintain the static method, and add a similar intstantiated version.
Renamed Calculate to CalculateFor
Added CanCreateInstanceOfSquaringCalculator and CanCalculateSquareOf for instanced SquareCalculator
Renamed CanCalculateForSquareOf for static Calculate
Build fails
Added interface; Added instance method of Calculate;
Build passes, tests fail
Added implementation with call to CalculateFor;
All tests passing
Added CalculatorFactoryTests test fixture
Added Factory class and Type enum;
Build passes; Test Fails
Added FibonacciCalculator creation logic
Added SquaringCalculator creation test
Build Fails
Added squaring calculator creation logic
All 17 tests pass
Refactored Factory tests to support TestCase attribute use