From c868f891e79c61eeb506f4969960ccea5898ce14 Mon Sep 17 00:00:00 2001 From: Donne Martin Date: Tue, 11 Aug 2015 21:13:35 -0400 Subject: [PATCH] Cleaned up n pairs parentheses solution notebook and unit test. --- .../n_pairs_parentheses_solution.ipynb | 43 +++++++++++++++---- .../test_n_pairs_parentheses.py | 14 ++++-- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/recursion_dynamic/n_pairs_parentheses/n_pairs_parentheses_solution.ipynb b/recursion_dynamic/n_pairs_parentheses/n_pairs_parentheses_solution.ipynb index e2296f1..bb07d9d 100644 --- a/recursion_dynamic/n_pairs_parentheses/n_pairs_parentheses_solution.ipynb +++ b/recursion_dynamic/n_pairs_parentheses/n_pairs_parentheses_solution.ipynb @@ -18,7 +18,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Problem: Print all valid combinations of n-pairs of parentheses\n", + "## Problem: Print all valid combinations of n-pairs of parentheses.\n", "\n", "* [Constraints](#Constraints)\n", "* [Test Cases](#Test-Cases)\n", @@ -104,7 +104,7 @@ " if n == 0:\n", " return result_set\n", " parentheses_util(n, n, '', result_set)\n", - " return result_set\n" + " return result_set" ] }, { @@ -125,30 +125,57 @@ "name": "stdout", "output_type": "stream", "text": [ - "Success: test_pair_parentheses\n" + "Overwriting test_n_pairs_parentheses.py\n" ] } ], "source": [ - "# %load test_n_pairs_parentheses.py\n", + "%%writefile test_n_pairs_parentheses.py\n", "from nose.tools import assert_equal\n", "\n", + "\n", "class TestPairParentheses(object):\n", - " \n", + "\n", " 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", - " assert_equal(solution(3), set(['((()))','(()())', '(())()', '()(())', '()()()']))\n", + " assert_equal(solution(2), set(['(())', \n", + " '()()']))\n", + " assert_equal(solution(3), set(['((()))', \n", + " '(()())', \n", + " '(())()', \n", + " '()(())', \n", + " '()()()']))\n", " print('Success: test_pair_parentheses')\n", "\n", + "\n", "def main():\n", " test = TestPairParentheses()\n", " test.test_pair_parentheses(pair_parentheses)\n", "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success: test_pair_parentheses\n" + ] + } + ], + "source": [ + "%run -i test_n_pairs_parentheses.py" + ] } ], "metadata": { @@ -167,7 +194,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.9" + "version": "2.7.10" } }, "nbformat": 4, diff --git a/recursion_dynamic/n_pairs_parentheses/test_n_pairs_parentheses.py b/recursion_dynamic/n_pairs_parentheses/test_n_pairs_parentheses.py index 52d19d7..1b735e8 100644 --- a/recursion_dynamic/n_pairs_parentheses/test_n_pairs_parentheses.py +++ b/recursion_dynamic/n_pairs_parentheses/test_n_pairs_parentheses.py @@ -1,17 +1,25 @@ from nose.tools import assert_equal + class TestPairParentheses(object): - + def test_pair_parentheses(self, solution): assert_equal(solution(0), set([])) assert_equal(solution(1), set(['()'])) - assert_equal(solution(2), set(['(())', '()()'])) - assert_equal(solution(3), set(['((()))','(()())', '(())()', '()(())', '()()()'])) + assert_equal(solution(2), set(['(())', + '()()'])) + assert_equal(solution(3), set(['((()))', + '(()())', + '(())()', + '()(())', + '()()()'])) print('Success: test_pair_parentheses') + def main(): test = TestPairParentheses() test.test_pair_parentheses(pair_parentheses) + if __name__ == '__main__': main() \ No newline at end of file