      "\n",
      "\n",
      "def main():\n",
      "    test = TestPairParentheses()\n",
      "    test.test_pair_parentheses(pair_parentheses)\n",
      "\n",
      "\n",
      "if __name__ == '__main__':\n",
      "    main()"
     ]
 
</s> remove     "    test.test_pair_parentheses(pair_parentheses)\n",
 </s> add     "    test.test_pair_parentheses()\n", </s> remove     "    def test_pair_parentheses(self, solution):\n",
    "        assert_equal(solution(0), set([]))\n",
    "        assert_equal(solution(1), set(['()']))\n",
    "        assert_equal(solution(2), set(['(())', \n",
    "                                       '()()']))\n",
    "        assert_equal(solution(3), set(['((()))', \n",
    "                                       '(()())', \n",
    "                                       '(())()', \n",
    "                                       '()(())', \n",
    "                                       '()()()']))\n",
 </s> add     "    def test_pair_parentheses(self):\n",
    "        parentheses = Parentheses()\n",
    "        assert_raises(TypeError, parentheses.find_pair, None)\n",
    "        assert_raises(ValueError, parentheses.find_pair, -1)\n",
    "        assert_equal(parentheses.find_pair(0), [])\n",
    "        assert_equal(parentheses.find_pair(1), ['()'])\n",
    "        assert_equal(parentheses.find_pair(2), ['(())',\n",
    "                                                '()()'])\n",
    "        assert_equal(parentheses.find_pair(3), ['((()))',\n",
    "                                                '(()())',\n",
    "                                                '(())()',\n",
    "                                                '()(())',\n",
    "                                                '()()()'])\n", </s> remove     "    def test_pair_parentheses(self, solution):\n",
    "        assert_equal(solution(0), set([]))\n",
    "        assert_equal(solution(1), set(['()']))\n",
    "        assert_equal(solution(2), set(['(())', \n",
    "                                       '()()']))\n",
    "        assert_equal(solution(3), set(['((()))', \n",
    "                                       '(()())', \n",
    "                                       '(())()', \n",
    "                                       '()(())', \n",
    "                                       '()()()']))\n",
 </s> add     "    def test_pair_parentheses(self):\n",
    "        parentheses = Parentheses()\n",
    "        assert_raises(TypeError, parentheses.find_pair, None)\n",
    "        assert_raises(ValueError, parentheses.find_pair, -1)\n",
    "        assert_equal(parentheses.find_pair(0), [])\n",
    "        assert_equal(parentheses.find_pair(1), ['()'])\n",
    "        assert_equal(parentheses.find_pair(2), ['(())',\n",
    "                                                '()()'])\n",
    "        assert_equal(parentheses.find_pair(3), ['((()))',\n",
    "                                                '(()())',\n",
    "                                                '(())()',\n",
    "                                                '()(())',\n",
    "                                                '()()()'])\n", </s> remove     test.test_pair_parentheses(pair_parentheses)
 </s> add     test.test_pair_parentheses() </s> remove     "def parentheses_util(no_left, no_right, pair_string, result):\n",
    "    # TODO: implement parentheses pairing here\n",
    "    pass\n",
    "\n",
 </s> add     "class Parentheses(object):\n",
    "    test.test_pair_parentheses()\n",
      "\n",
      "\n",
      "def main():\n",
      "    test = TestPairParentheses()\n",
    "    test.test_pair_parentheses()\n",
      "\n",
      "\n",
      "if __name__ == '__main__':\n",
      "    main()"
     ]
keep keep keep keep replace keep keep keep keep keep
 Rework n pairs parens challenge (#145) 
recursion_dynamic/n_pairs_parentheses/n_pairs_parentheses_challenge.ipynb