From 7d729679ba5e1fb5a497c5621056fc957e7ec4e4 Mon Sep 17 00:00:00 2001 From: Derk-Jan Karrenbeld Date: Mon, 15 Apr 2019 12:19:49 +0200 Subject: [PATCH] bracket-push: rename to matching-brackets This rename was proposed in: exercism/problem-specifications#1501 The rationale for the name is: * to name the exercise by its story, not by what it potentially teaches * to avoid unnecessarily biasing the solution space --- config.json | 2 +- .../.eslintrc | 0 .../README.md | 2 +- .../babel.config.js | 0 .../example.js | 4 ++-- .../matching-brackets.spec.js} | 18 +++++++++--------- .../package.json | 0 7 files changed, 13 insertions(+), 13 deletions(-) rename exercises/{bracket-push => matching-brackets}/.eslintrc (100%) rename exercises/{bracket-push => matching-brackets}/README.md (97%) rename exercises/{bracket-push => matching-brackets}/babel.config.js (100%) rename exercises/{bracket-push => matching-brackets}/example.js (89%) rename exercises/{bracket-push/bracket-push.spec.js => matching-brackets/matching-brackets.spec.js} (56%) rename exercises/{bracket-push => matching-brackets}/package.json (100%) diff --git a/config.json b/config.json index e0022664ff..83f126666e 100644 --- a/config.json +++ b/config.json @@ -599,7 +599,7 @@ ] }, { - "slug": "bracket-push", + "slug": "matching-brackets", "uuid": "4d456646-3a9b-4393-9558-6b30e5c1039c", "core": false, "unlocked_by": "pangram", diff --git a/exercises/bracket-push/.eslintrc b/exercises/matching-brackets/.eslintrc similarity index 100% rename from exercises/bracket-push/.eslintrc rename to exercises/matching-brackets/.eslintrc diff --git a/exercises/bracket-push/README.md b/exercises/matching-brackets/README.md similarity index 97% rename from exercises/bracket-push/README.md rename to exercises/matching-brackets/README.md index 399e9e4975..ff35c3166b 100644 --- a/exercises/bracket-push/README.md +++ b/exercises/matching-brackets/README.md @@ -1,4 +1,4 @@ -# Bracket Push +# Matching Brackets Given a string containing brackets `[]`, braces `{}`, parentheses `()`, or any combination thereof, verify that any and all pairs are matched diff --git a/exercises/bracket-push/babel.config.js b/exercises/matching-brackets/babel.config.js similarity index 100% rename from exercises/bracket-push/babel.config.js rename to exercises/matching-brackets/babel.config.js diff --git a/exercises/bracket-push/example.js b/exercises/matching-brackets/example.js similarity index 89% rename from exercises/bracket-push/example.js rename to exercises/matching-brackets/example.js index 4e05b87865..f53f13b86d 100644 --- a/exercises/bracket-push/example.js +++ b/exercises/matching-brackets/example.js @@ -1,4 +1,4 @@ -export const bracketPush = (input) => { +export const matchingBrackets = (input) => { if (input.length === 0) { return true; } @@ -27,7 +27,7 @@ export const bracketPush = (input) => { if (typeof bracketArray[topNumber + 1] !== 'undefined') { if (bracketArray[topNumber + 1] === closeArray[k]) { bracketArray.splice(topNumber, 2); - return bracketPush(bracketArray); + return matchingBrackets(bracketArray); } } } diff --git a/exercises/bracket-push/bracket-push.spec.js b/exercises/matching-brackets/matching-brackets.spec.js similarity index 56% rename from exercises/bracket-push/bracket-push.spec.js rename to exercises/matching-brackets/matching-brackets.spec.js index f07d28de0f..bf7caf409f 100644 --- a/exercises/bracket-push/bracket-push.spec.js +++ b/exercises/matching-brackets/matching-brackets.spec.js @@ -1,35 +1,35 @@ -import { bracketPush } from './bracket-push'; +import { matchingBrackets } from './matching-brackets'; describe('bracket push', () => { test('checks for appropriate bracketing in a set of brackets', () => { - expect(bracketPush('{}')).toEqual(true); + expect(matchingBrackets('{}')).toEqual(true); }); xtest('returns false for unclosed brackets', () => { - expect(bracketPush('{{')).toEqual(false); + expect(matchingBrackets('{{')).toEqual(false); }); xtest('returns false if brackets are out of order', () => { - expect(bracketPush('}{')).toEqual(false); + expect(matchingBrackets('}{')).toEqual(false); }); xtest('checks bracketing in more than one pair of brackets', () => { - expect(bracketPush('{}[]')).toEqual(true); + expect(matchingBrackets('{}[]')).toEqual(true); }); xtest('checks bracketing in nested brackets', () => { - expect(bracketPush('{[]}')).toEqual(true); + expect(matchingBrackets('{[]}')).toEqual(true); }); xtest('rejects brackets that are properly balanced but improperly nested', () => { - expect(bracketPush('{[}]')).toEqual(false); + expect(matchingBrackets('{[}]')).toEqual(false); }); xtest('checks bracket closure with deeper nesting', () => { - expect(bracketPush('{[)][]}')).toEqual(false); + expect(matchingBrackets('{[)][]}')).toEqual(false); }); xtest('checks bracket closure in a long string of brackets', () => { - expect(bracketPush('{[]([()])}')).toEqual(true); + expect(matchingBrackets('{[]([()])}')).toEqual(true); }); }); diff --git a/exercises/bracket-push/package.json b/exercises/matching-brackets/package.json similarity index 100% rename from exercises/bracket-push/package.json rename to exercises/matching-brackets/package.json