      }
     ],
     "source": [
      "%%writefile 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     "        return None\n",
 </s> add     "        raise KeyError('Key not found')\n", </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     "        hash_table.remove(-1)\n",
 </s> add     "        assert_raises(KeyError, hash_table.remove, -1)\n",
    "from nose.tools import assert_equal, assert_raises\n",
      }
     ],
     "source": [
      "%%writefile 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_solution.ipynb