      "\n",
      "def main():\n",
      "    test = TestBstSuccessor()\n",
      "    test.test_bst_successor()\n",
      "\n",
      "\n",
      "if __name__ == '__main__':\n",
      "    main()"
     ]
 
</s> remove     "        return\n",
 </s> add     "        raise Exception('Invalid input node')\n", </s> remove     "        return\n",
 </s> add     "        return None\n",
    "    test.test_bst_successor_empty()\n",
      "\n",
      "def main():\n",
      "    test = TestBstSuccessor()\n",
      "    test.test_bst_successor()\n",
    "    test.test_bst_successor_empty()\n",
      "\n",
      "\n",
      "if __name__ == '__main__':\n",
      "    main()"
     ]
keep keep keep add 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_challenge.ipynb