private static IFibonacciStrategy GetStrategy(FibonacciStrategy strategy) { if (strategy == FibonacciStrategy.Recursive) return new FibonacciRecursiveStrategy(); return new FibonacciDynamicStrategy(); }
private void WhenGetFibonacci(int n, FibonacciStrategy calcOption) { _result = Fibonacci.Get(n, calcOption); }
public static int Get(int n, FibonacciStrategy strategy = FibonacciStrategy.Dynamic) { return GetStrategy(strategy).Get(n); }
public void ShouldReturnFibonacci(int n, int expectedResult, FibonacciStrategy calcOption) { WhenGetFibonacci(n, calcOption); ThenOutputIs(expectedResult); }