      }
     ],
     "source": [
      "%%writefile test_hanoi.py\n",
      "from nose.tools import assert_equal\n",
      "\n",
      "\n",
      "class TestHanoi(object):\n",
      "\n",
      "    def test_hanoi(self):\n",
 
</s> remove     "from nose.tools import assert_equal\n",
 </s> add     "from nose.tools import assert_equal, assert_raises\n", </s> remove from nose.tools import assert_equal
 </s> add from nose.tools import assert_equal, assert_raises </s> remove     "def hanoi(num_disks, src, dest, buff):\n",
    "    # TODO: Implement me\n",
    "    pass"
 </s> add     "class Hanoi(object):\n",
    "\n",
    "    def move_disks(self, num_disks, src, dest, buff):\n",
    "        # TODO: Implement me\n",
    "        pass"
    "from nose.tools import assert_equal, assert_raises\n",
      }
     ],
     "source": [
      "%%writefile test_hanoi.py\n",
    "from nose.tools import assert_equal, assert_raises\n",
      "\n",
      "\n",
      "class TestHanoi(object):\n",
      "\n",
      "    def test_hanoi(self):\n",
keep keep keep keep replace keep keep keep keep keep
 Update hanoi challenge (#121)

Update constraints and test cases.  Move implementation to a class.  Update tests. 
recursion_dynamic/hanoi/hanoi_solution.ipynb