diff --git a/test/reject/reject.js b/test/reject/reject.js new file mode 100644 index 000000000..407db4701 --- /dev/null +++ b/test/reject/reject.js @@ -0,0 +1,2 @@ +const reject = (pred, array) => array.filter((...args) => !pred(...args)) +module.exports = reject; \ No newline at end of file diff --git a/test/reject/reject.test.js b/test/reject/reject.test.js new file mode 100644 index 000000000..a82244682 --- /dev/null +++ b/test/reject/reject.test.js @@ -0,0 +1,24 @@ +const test = require('tape'); +const reject = require('./reject.js'); + +test('Testing reject', (t) => { + //For more information on all the methods supported by tape + //Please go to https://github.com/substack/tape + t.true(typeof reject === 'function', 'reject is a Function'); + + const noEvens = reject( + (x) => x % 2 === 0, + [1, 2, 3, 4, 5] + ); + + t.deepEqual(noEvens, [1, 3, 5]); + + const fourLettersOrLess = reject( + (word) => word.length > 4, + ['Apple', 'Pear', 'Kiwi', 'Banana'] + ); + + t.deepEqual(fourLettersOrLess, ['Pear', 'Kiwi']); + + t.end(); +});