  
  
  class TestBstSuccessor(object):
  
      def test_bst_successor(self):
          nodes = {}
          node = Node(5)
          nodes[5] = node
          nodes[3] = insert(node, 3)
          nodes[8] = insert(node, 8)
 
</s> remove     "            return\n",
 </s> add     "            # We reached the root, the original input node\n",
    "            # must be the largest element in the tree.\n",
    "            return None\n",
    @raises(Exception)
    def test_bst_successor_empty(self):
        bst_successor(None)

  
  
  class TestBstSuccessor(object):
  
    @raises(Exception)
    def test_bst_successor_empty(self):
        bst_successor(None)

      def test_bst_successor(self):
          nodes = {}
          node = Node(5)
          nodes[5] = node
          nodes[3] = insert(node, 3)
          nodes[8] = insert(node, 8)
keep keep keep add keep keep keep keep keep keep
 Polish bst successor challenge and solution (#82)

Update constraints, test cases, tests, algorithm discussion, and code. 
graphs_trees/bst_successor/test_bst_successor.py