      "\n",
      "\n",
      "class TestCheckBalance(object):\n",
      "\n",
      "    @raises(Exception)\n",
      "    def test_check_balance_empty(self):\n",
      "        bst = BstBalance(None)\n",
      "        bst.check_balance()\n",
      "\n",
      "    def test_check_balance(self):\n",
 
</s> remove     "    @raises(Exception)\n",
 </s> add     "    @raises(TypeError)\n", </s> remove     "            raise Exception('No root node')\n",
 </s> add     "            raise TypeError('root cannot be None')\n", </s> remove     @raises(Exception)
 </s> add     @raises(TypeError)
    "    @raises(TypeError)\n",
      "\n",
      "\n",
      "class TestCheckBalance(object):\n",
      "\n",
    "    @raises(TypeError)\n",
      "    def test_check_balance_empty(self):\n",
      "        bst = BstBalance(None)\n",
      "        bst.check_balance()\n",
      "\n",
      "    def test_check_balance(self):\n",
keep keep keep keep replace keep keep keep keep keep
 Update tree check balance challenge (#120)

Use more specific exception types. 
graphs_trees/check_balance/check_balance_challenge.ipynb