input: Write a python function to check the size of a Binary Search Tree.
  ```python
  assert bst.get_size() == 0  # An empty tree
  bst.add_node(5)
  assert bst.get_size() == 1  # Tree with one node
  bst.add_node(3)
  bst.add_node(7)
  assert bst.get_size() == 3  # Tree with three nodes
  bst.add_node(2)
  bst.add_node(4)
  bst.add_node(6)
  bst.add_node(8)
  assert bst.get_size() == 7  # Tree with seven nodes
output: class Node:
      def __init__(self, key):
          self.left = None
          self.right = None
          self.value = key
  
  class BinarySearchTree:
      def __init__(self):
          self.root = None
          self.size = 0
  
      def add_node(self, key):
          if self.root is None:
              self.root = Node(key)
              self.size += 1
          else:
              self._add_node_recursive(self.root, key)
  
      def _add_node_recursive(self, node, key):
          if key < node.value:
              if node.left is None:
                  node.left = Node(key)
                  self.size += 1
              else:
                  self._add_node_recursive(node.left, key)
          else:
              if node.right is None:
                  node.right = Node(key)
                  self.size += 1
              else:
                  self._add_node_recursive(node.right, key)
  
      def get_size(self):
          return self.size
  
  # Example usage:
  bst = BinarySearchTree()
  assert bst.get_size() == 0  # An empty tree
  bst.add_node(5)
  assert bst.get_size() == 1  # Tree with one node
  bst.add_node(3)
  bst.add_node(7)
  assert bst.get_size() == 3  # Tree with three nodes
  bst.add_node(2)
  bst.add_node(4)
  bst.add_node(6)
  bst.add_node(8)
  assert bst.get_size() == 7  # Tree with seven nodes