From d3bc9b5136bc5fb3006a47bcf6e12bef56568430 Mon Sep 17 00:00:00 2001 From: Alexander Vinober Date: Mon, 31 Oct 2016 14:26:13 +0300 Subject: [PATCH 1/3] arrays ordering kata --- katas/arrays-ordering/arrays-ordering.js | 2 ++ katas/arrays-ordering/arrays-ordering_test.js | 23 +++++++++++++++++++ katas/arrays-ordering/readme.md | 22 ++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 katas/arrays-ordering/arrays-ordering.js create mode 100644 katas/arrays-ordering/arrays-ordering_test.js create mode 100644 katas/arrays-ordering/readme.md diff --git a/katas/arrays-ordering/arrays-ordering.js b/katas/arrays-ordering/arrays-ordering.js new file mode 100644 index 0000000..b290c70 --- /dev/null +++ b/katas/arrays-ordering/arrays-ordering.js @@ -0,0 +1,2 @@ +function arraysOrdering(arr) { +} \ No newline at end of file diff --git a/katas/arrays-ordering/arrays-ordering_test.js b/katas/arrays-ordering/arrays-ordering_test.js new file mode 100644 index 0000000..7ad224f --- /dev/null +++ b/katas/arrays-ordering/arrays-ordering_test.js @@ -0,0 +1,23 @@ +describe('arrays ordering', function() { + it('should return Increasing if the lengths of the elements increase from left to right ', function() { + expect(arraysOrdering([123, 1234, 12345, 123456])).toEqual('Increasing'); + expect(arraysOrdering([1, 2, 3, 4, 56])).toEqual('Increasing'); + expect(arraysOrdering([['yz'],['uv', 'wx'],['ab','cdef', 'g'],['hi','jk','lmnopq']])).toEqual('Increasing'); + }); + + it('should return Decreasing if the lengths of the elements decrease from left to right', function() { + expect(arraysOrdering(['abcde', 'abcd', 'abc'])).toEqual('Decreasing'); + expect(arraysOrdering([[1, 2, 3, 4], [5, 6, 7], [8, 9]])).toEqual('Decreasing'); + expect(arraysOrdering([[1, 23, 456, 78910], ['abcdef', 'ghijklmno', 'pqrstuvwxy'], [[1, 23, 456, 78910, ['abcdef', 'ghijklmno', 'pqrstuvwxy']], 1234]])).toEqual('Decreasing'); + }); + + it('should return Unsorted if the lengths of the elements fluctuate from left to right', function() { + expect(arraysOrdering(['abc', 'abcde', 'c'])).toEqual('Unsorted'); + expect(arraysOrdering(['a', 'abc', 'abcde', 'ab'])).toEqual('Unsorted'); + }); + + it('should return Constant if all element\'s lengths are the same', function() { + expect(arraysOrdering(['a', 'b', 'c'])).toEqual('Constant'); + expect(arraysOrdering([1, 'b', ['p'], 2])).toEqual('Constant'); + }); +}); diff --git a/katas/arrays-ordering/readme.md b/katas/arrays-ordering/readme.md new file mode 100644 index 0000000..634837a --- /dev/null +++ b/katas/arrays-ordering/readme.md @@ -0,0 +1,22 @@ +####Description: + +Write a function that takes a single array as an argument (containing multiple strings and/or positive numbers and/or arrays), +and returns one of four possible string values, depending on the ordering of the lengths of the elements in the input array. +Your function should return: +- “Increasing” - if the lengths of the elements increase from left to right (although it is possible that some neighbouring elements may also be equal in length) +- “Decreasing” - if the lengths of the elements decrease from left to right (although it is possible that some neighbouring elements may also be equal in length) +- “Unsorted” - if the lengths of the elements fluctuate from left to right +- “Constant” - if all element's lengths are the same. + +####Example: + +```js +arraysOrdering([123, 1234, 12345, 123456]) ==> Increasing +arraysOrdering(["abcde", "abcd", "abc"]) ==> Decreasing +arraysOrdering(["abc", "abcde", "c"]) ==> Unsorted +arraysOrdering([1, "b", ["p"], 2]) ==> Constant +``` + +#####[Original Kata](https://www.codewars.com/kata/identify-the-arrays-ordering) + +Good luck From 724070e2c1ef981584dd9721981d97e207bb0067 Mon Sep 17 00:00:00 2001 From: Alexander Vinober Date: Mon, 31 Oct 2016 14:28:15 +0300 Subject: [PATCH 2/3] arrays ordering kata, test link in readme --- katas/arrays-ordering/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/katas/arrays-ordering/readme.md b/katas/arrays-ordering/readme.md index 634837a..142ae05 100644 --- a/katas/arrays-ordering/readme.md +++ b/katas/arrays-ordering/readme.md @@ -17,6 +17,8 @@ arraysOrdering(["abc", "abcde", "c"]) ==> Unsorted arraysOrdering([1, "b", ["p"], 2]) ==> Constant ``` +See [tests in arrays-ordering_test.js](https://github.com/AlexVvx/code-wars/blob/master/katas/arrays-ordering/array-ordering_test.js) + #####[Original Kata](https://www.codewars.com/kata/identify-the-arrays-ordering) Good luck From 0727991598bea4786074f523d2373b628fea5e0b Mon Sep 17 00:00:00 2001 From: Alexander Vinober Date: Mon, 31 Oct 2016 14:32:29 +0300 Subject: [PATCH 3/3] arrays ordering kata, test link in readme fixed --- katas/arrays-ordering/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katas/arrays-ordering/readme.md b/katas/arrays-ordering/readme.md index 142ae05..6fdb26d 100644 --- a/katas/arrays-ordering/readme.md +++ b/katas/arrays-ordering/readme.md @@ -17,7 +17,7 @@ arraysOrdering(["abc", "abcde", "c"]) ==> Unsorted arraysOrdering([1, "b", ["p"], 2]) ==> Constant ``` -See [tests in arrays-ordering_test.js](https://github.com/AlexVvx/code-wars/blob/master/katas/arrays-ordering/array-ordering_test.js) +See [tests in arrays-ordering_test.js](https://github.com/AlexVvx/code-wars/blob/master/katas/arrays-ordering/arrays-ordering_test.js) #####[Original Kata](https://www.codewars.com/kata/identify-the-arrays-ordering)