input: Write a function to solve the "Tower of Hanoi" game for a given number of disks. The function should recursively move the disks from the starting rod to the destination rod using an auxiliary rod. If there's only one disk to move, it should directly move the disk from the start rod to the end rod. The function also takes the names of the rods as parameters.
  
  def solveTowerOfHanoi(num_disks, start_rod='A', end_rod='C', aux_rod='B'): 
      if num_disks == 1: 
          print("Move disk 1 from rod", start_rod, "to rod", end_rod) 
          return
      solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod) 
      print("Move disk", num_disks, "from rod", start_rod, "to rod", end_rod) 
      solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod) 
  
  # Test cases
  assert solveTowerOfHanoi(1, 'A', 'C', 'B')=="Move disk 1 from rod A to rod C"
  assert solveTowerOfHanoi(2, 'A', 'C', 'B')=="Move disk 1 from rod A to rod B\nMove disk 2 from rod A to rod C\nMove disk 1 from rod B to rod C"
  assert solveTowerOfHanoi(3, 'A', 'C', 'B')=="Move disk 1 from rod A to rod C\nMove disk 2 from rod A to rod B\nMove disk 1 from rod C to rod B\nMove disk 3 from rod A to rod C\nMove disk 1 from rod B to rod A\nMove disk 2 from rod B to rod C\nMove disk 1 from rod A to rod C"
  assert solveTowerOfHanoi(4, 'A', 'C', 'B')=="Move disk 1 from rod A to rod B\nMove disk 2 from rod A to rod C\nMove disk 1 from rod B to rod C\nMove disk 3 from rod A to rod B\nMove disk 1 from rod C to rod A\nMove disk 2 from rod C to rod B\nMove disk 1 from rod A to rod B\nMove disk 4 from rod A to rod C\nMove disk 1 from rod B to rod C\nMove disk 2 from rod B to rod A\nMove disk 1 from rod C to rod A\nMove disk 3 from rod B to rod C\nMove disk 1 from rod A to rod B\nMove disk 2 from rod A to rod C\nMove disk 1 from rod B to rod C"
output: def solveTowerOfHanoi(num_disks, start_rod='A', end_rod='C', aux_rod='B'): 
      if num_disks == 1: 
          print("Move disk 1 from rod", start_rod, "to rod", end_rod) 
          return
      solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod) 
      print("Move disk", num_disks, "from rod", start_rod, "to rod", end_rod) 
      solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod)