Test migration to jest by hand
Apparently using regular expressions is way easier.
This commit is contained in:
11
test/stringPermutations/stringPermutations.js
Normal file
11
test/stringPermutations/stringPermutations.js
Normal file
@ -0,0 +1,11 @@
|
||||
const stringPermutations = str => {
|
||||
if (str.length <= 2) return str.length === 2 ? [str, str[1] + str[0]] : [str];
|
||||
return str
|
||||
.split('')
|
||||
.reduce(
|
||||
(acc, letter, i) =>
|
||||
acc.concat(stringPermutations(str.slice(0, i) + str.slice(i + 1)).map(val => letter + val)),
|
||||
[]
|
||||
);
|
||||
};
|
||||
module.exports = stringPermutations;
|
||||
12
test/stringPermutations/stringPermutations.test.js
Normal file
12
test/stringPermutations/stringPermutations.test.js
Normal file
@ -0,0 +1,12 @@
|
||||
const expect = require('expect');
|
||||
const stringPermutations = require('./stringPermutations.js');
|
||||
|
||||
|
||||
test('stringPermutations is a Function', () => {
|
||||
expect(stringPermutations).toBeInstanceOf(Function);
|
||||
});
|
||||
t.deepEqual(stringPermutations('abc'), ['abc','acb','bac','bca','cab','cba'], "Generates all stringPermutations of a string");
|
||||
t.deepEqual(stringPermutations('a'), ['a'], "Works for single-letter strings");
|
||||
t.deepEqual(stringPermutations(''), [''], "Works for empty strings");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user