      "\n",
      "class TestBstSuccessor(object):\n",
      "\n",
      "    def test_bst_successor(self):\n",
      "        nodes = {}\n",
      "        node = Node(5)\n",
      "        nodes[5] = node\n",
      "        nodes[3] = insert(node, 3)\n",
      "        nodes[8] = insert(node, 8)\n",
 
</s>
    "    @raises(Exception)\n",
    "    def test_bst_successor_empty(self):\n",
    "        bst_successor(None)\n",
    "\n",
      "\n",
      "class TestBstSuccessor(object):\n",
      "\n",
    "    @raises(Exception)\n",
    "    def test_bst_successor_empty(self):\n",
    "        bst_successor(None)\n",
    "\n",
      "    def test_bst_successor(self):\n",
      "        nodes = {}\n",
      "        node = Node(5)\n",
      "        nodes[5] = node\n",
      "        nodes[3] = insert(node, 3)\n",
      "        nodes[8] = insert(node, 8)\n",
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/bst_successor_solution.ipynb