input: Write a python function to calculate the height of a binary tree.
  ```python
  def calculate_height(tree):
      if tree is None:
          return 0
      left_height = calculate_height(tree.left)
      right_height = calculate_height(tree.right)
      return max(left_height, right_height) + 1
  
  # Test cases
  tree = BinaryTree(1)
  assert calculate_height(tree) == 1
  
  tree.insert_left(2)
  tree.insert_right(3)
  assert calculate_height(tree) == 2
  
  tree.left.insert_left(4)
  tree.left.insert_right(5)
  assert calculate_height(tree) == 3
  
  tree.right.insert_right(6)
  assert calculate_height(tree) == 3
output: class BinaryTree:
      def __init__(self, value):
          self.value = value
          self.left = None
          self.right = None
  
      def insert_left(self, value):
          self.left = BinaryTree(value)
          return self.left
  
      def insert_right(self, value):
          self.right = BinaryTree(value)
          return self.right
  
  def calculate_height(tree):
      if tree is None:
          return 0
      left_height = calculate_height(tree.left)
      right_height = calculate_height(tree.right)
      return max(left_height, right_height) + 1
  
  # Test cases
  tree = BinaryTree(1)
  assert calculate_height(tree) == 1
  
  tree.insert_left(2)
  tree.insert_right(3)
  assert calculate_height(tree) == 2
  
  tree.left.insert_left(4)
  tree.left.insert_right(5)
  assert calculate_height(tree) == 3
  
  tree.right.insert_right(6)
  assert calculate_height(tree) == 3