From c0173105e1ba3079cbc6ef94366977c994b90860 Mon Sep 17 00:00:00 2001 From: Sergey_Kovalchuk Date: Fri, 14 Oct 2016 23:19:33 +0300 Subject: [PATCH] findAndSort task --- katas/find-gap-and-sord/find-gap-and-sort.js | 3 ++ .../find-gap-and-sort_test.js | 25 ++++++++++++++ katas/find-gap-and-sord/readme.md | 33 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 katas/find-gap-and-sord/find-gap-and-sort.js create mode 100644 katas/find-gap-and-sord/find-gap-and-sort_test.js create mode 100644 katas/find-gap-and-sord/readme.md diff --git a/katas/find-gap-and-sord/find-gap-and-sort.js b/katas/find-gap-and-sord/find-gap-and-sort.js new file mode 100644 index 0000000..56fc39d --- /dev/null +++ b/katas/find-gap-and-sord/find-gap-and-sort.js @@ -0,0 +1,3 @@ +function findAndSort (massiv, leftLimit, rightLimit) { + // YOUR SOLUTION GOES HERE +}; diff --git a/katas/find-gap-and-sord/find-gap-and-sort_test.js b/katas/find-gap-and-sord/find-gap-and-sort_test.js new file mode 100644 index 0000000..db892b5 --- /dev/null +++ b/katas/find-gap-and-sord/find-gap-and-sort_test.js @@ -0,0 +1,25 @@ +describe('findAndSort function', function() { + var massive = [100,200,4,5,18,-300,-20,2,5,-7,4,3,-100,80]; + var leftLimit = -20; + var rightLimit = 20; + var result = [100,200,-20,-7,2,3,4,4,5,5,18,-300,-100,80]; + + it('should correctly format provided array and return result', function() { + expect(findAndSort(massive, leftLimit, rightLimit)).toEqual(result); + }); + + it('should correctly format provided array', function() { + massive = [9,8,7,6,5,4,3,2,1,10]; + leftLimit = 8; + rightLimit = 10; + result = [8,9,10,7,6,5,4,3,2,1]; + + expect(findAndSort(massive, leftLimit, rightLimit)).toEqual(result); + }); + + it('should return array without changes if in provided massive no values from "gap"', function() { + massive = [100,-200,300, 23]; + + expect(findAndSort(massive, leftLimit, rightLimit)).toEqual(massive); + }); +}); diff --git a/katas/find-gap-and-sord/readme.md b/katas/find-gap-and-sord/readme.md new file mode 100644 index 0000000..3cb81b2 --- /dev/null +++ b/katas/find-gap-and-sord/readme.md @@ -0,0 +1,33 @@ +# Task +Create a function that find in provided array 'gap-massive', sort it in ascending order and return an array with sorted 'gap-massive'. + +## Important note +'gap-massive' - part of provided massive with elements that located in the gap between leftLimit and rightLimit inclusively. +The 'gap-massive' must be inserted in position of first gap-element in massive. + +## Example + +```js +let massive = [100,200,4,5,18,-300,-20,2,5,-7,4,3,-100,80]; +let leftLimit = -20; +let rightLimit = 20; + +// 'gap-massive' - [4,5,18,-20,2,5,-7,4,3]; +// 'gap' - from - 20 to 20; +// 'first gap-element' - 4; + +findAndSort(massive, leftLimit, rightLimit); // [100,200,-20,-7,2,3,4,4,5,5,18,-300,-100,80] +``` +## Arguments +* massive: initial array. +* leftLimit: a number that set the min limit gap value. +* rightLimit: a number that set the max limit gap value. + +See tests in [find-gap-and-sort_test.js](https://github.com/AlexVvx/code-wars/blob/master/katas/find-gap-and-sort/find-gap-and-sort_test.js) + +## Boilerplate +```js +function findAndSort (massiv, leftLimit, rightLimit) { + // YOUR SOLUTION GOES HERE +}; +```