input: Write a Python function to insert nodes into a binary search tree and test the tree's structure.
  assert insert(None, 8).data == 8
  assert insert(insert(None, 8), 3).left.data == 3
  assert insert(insert(None, 8), 10).right.data == 10
  assert insert(insert(insert(None, 8), 3), 1).left.left.data == 1
  assert insert(insert(insert(None, 8), 3), 6).left.right.data == 6
  assert insert(insert(insert(insert(None, 8), 3), 6), 4).left.right.left.data == 4
  assert insert(insert(insert(insert(None, 8), 3), 6), 7).left.right.right.data == 7
  assert insert(insert(insert(insert(insert(None, 8), 3), 10), 14), 13).right.right.left.data == 13
output: class TreeNode:
      def __init__(self, data):
          self.data = data
          self.left = None
          self.right = None
  
  def insert(root, key):
      if root is None:
          return TreeNode(key)
      if key < root.data:
          root.left = insert(root.left, key)
      else:
          root.right = insert(root.right, key)
      return root