@Test public void factorialOfSevenEqualsTo5040Recursive() { int result = factorial.getRecursive(7); assertEquals(5040, result); }
public int getRecursive(int n) { validateInput(n); if (n == 0) { return 1; } else { return n * getRecursive(n - 1); } }
Factorial { public int getRecursive(int n) { validateInput(n); if (n == 0) { return 1; } else { return n * getRecursive(n - 1); } } }
Factorial { public int getRecursive(int n) { validateInput(n); if (n == 0) { return 1; } else { return n * getRecursive(n - 1); } }  }
Factorial { public int getRecursive(int n) { validateInput(n); if (n == 0) { return 1; } else { return n * getRecursive(n - 1); } }  int getIterative(int n); int getRecursive(int n); int getTailRecursive(int n); }
Factorial { public int getRecursive(int n) { validateInput(n); if (n == 0) { return 1; } else { return n * getRecursive(n - 1); } }  int getIterative(int n); int getRecursive(int n); int getTailRecursive(int n);  }