Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function shortWords(array) {
- function fiveChar(string) {
- return string.length < 5;
- }
- return array.filter(fiveChar);
- }
- /* From here down, you are not expected to
- understand.... for now :)
- Nothing to see here!
- */
- // tests
- function testFunctionWorks(fn, input, expected) {
- var result = fn(input);
- if (
- result && result.length === expected.length &&
- result.every(function(item) {
- return expected.indexOf(item) > -1;
- })) {
- console.log('SUCCESS: `' + fn.name + '` works!')
- return true;
- }
- else {
- console.error('FAILURE: `' + fn.name + '([' + input + '])` should be ' + expected +
- ' but was ' + fn(input))
- return false;
- }
- }
- function runTests() {
- var input1 = ['cat', 'oblivion', 'dog', 'patriarchy', 'blue'];
- var result1 = ['cat', 'dog', 'blue'];
- var input2 = ['rainbow', 'the', 'big'];
- var result2 = ['the', 'big'];
- var testResults = [
- testFunctionWorks(shortWords, input1, result1),
- testFunctionWorks(shortWords, input2, result2),
- ];
- var numPassing = testResults.filter(function(result){ return result; }).length;
- console.log(numPassing + ' out of ' + testResults.length + ' tests passing.');
- }
- runTests();
Add Comment
Please, Sign In to add comment