AT END MISSING "}" // FUNCTION DEFINITION(S) function map(array, callbackFunction) { var newArray = []; for (var i = 0; i < array.length; i++) { var element = array[i]; newArray = newArray + callbackFunction(element); } return newArray; } function cubeAll(numbers) { return map(numbers, function(n) { return n * n; }); } // ASSERTION FUNCTION(S) TO BE USED function assertArraysEqual(actual, expected, testName){ var hasSameVal = true; for(var i = 0; i < actual.length; i++){ if(actual[i]!== expected[i]){ hasSameVal === false; break; } } var SameLength = actual.length === expected.length; if(hasSameVal && SameLength){ console.log('Passed'); } else{ console.log('FAILED ['+testName+ '] Expected ' +expected+' , but got '+actual); } } // TESTS CASES function addOne(val){ return val + 1; } var inputForMap = [1, 2, 3]; var actualMap = map[inputForMap, addOne]; var expectedMap =[2, 3, 4] assertArraysEqual(actualMap, expectedMap, "should correctly map elements of an array");