input: 
  def insertion_sort(list):
      for i in range(1,len(list)):
          key = list[i]
          j = i - 1
          while j>=0 and key < list[j]:
              list[j+1] = list[j]
              j-=1
          list[j+1] = key
      return list
  
  def test_insertion_sort():
      assert insertion_sort([4,2,1,3]) == [1,2,3,4]
      assert insertion_sort([1]) == [1]
      assert insertion_sort([]) == []
      assert insertion_sort([5,4,3,2,1]) == [1,2,3,4,5]
      print("All test cases passed!")
  
  if __name__ == "__main__":
      test_insertion_sort()
  
output:     for i in range(1,len(list)):
          key = list[i]
          j = i - 1
          while j>=0 and key < list[j]:
              list[j+1] = list[j]
              j-=1
          list[j+1] = key
      return list