     },
     "outputs": [],
     "source": [
      "# %load test_hash_map.py\n",
      "from nose.tools import assert_equal\n",
      "\n",
      "\n",
      "class TestHashMap(object):\n",
      "\n",
      "    # TODO: It would be better if we had unit tests for each\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     "        for i, item in enumerate(self.table[hash_index]):\n",
 </s> add     "        for index, item in enumerate(self.table[hash_index]):\n", </s> remove     "        return None\n",
 </s> add     "        raise KeyError('Key not found')\n", </s> remove     "* For collision resolution, can we use linked lists?\n",
 </s> add     "* For collision resolution, can we use chaining?\n",
    "from nose.tools import assert_equal, assert_raises\n",
     },
     "outputs": [],
     "source": [
      "# %load test_hash_map.py\n",
    "from nose.tools import assert_equal, assert_raises\n",
      "\n",
      "\n",
      "class TestHashMap(object):\n",
      "\n",
      "    # TODO: It would be better if we had unit tests for each\n",
keep keep keep keep replace keep keep keep keep keep
 Update hash map (#104)

Update constraints, test cases, algorithm, code, and tests. 
arrays_strings/hash_map/hash_map_challenge.ipynb