Skip to content

Instantly share code, notes, and snippets.

@dtstanley
Forked from anonymous/filterDrillJS.js
Created June 9, 2017 16:25
Show Gist options
  • Save dtstanley/a63d5a012612c39b4844eb47fe66e31e to your computer and use it in GitHub Desktop.
Save dtstanley/a63d5a012612c39b4844eb47fe66e31e to your computer and use it in GitHub Desktop.
filterDrillJS created by dtstanley - https://repl.it/G9Hd/98
function shortWords(array) {
return array.filter(function lessFive(x){
return x.length <5;
});
}
/* 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();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment