input: Write a function to understand recursion in Python by calculating the factorial of a given number. Implement the function using recursive logic and provide a test case to demonstrate its use.
  assert factorial(5)==120
  assert factorial(1)==1
  assert factorial(0)==1
output: def factorial(n):
      if n == 0 or n == 1:
          return 1
      else:
          return n * factorial(n - 1)