"use strict"; var Primes = (function() { var isPrime = function(value) { for (var i = 2; i < value; i++) { if (value % i === 0) { return false; } } return value > 1; }; var areAllPrimes = function(arr) { var result = false; result = arr.every(isPrime); return result; }; return { areAllPrimes: areAllPrimes } }()); var Tests = (function() { var results = { total: 0, bad: 0 }; var test = function(arr, expected) { results.total++; var result = Primes.areAllPrimes(arr); if (result !== expected) { results.bad++; console.log(arr + " expected " + expected + ", but was " + result); } } test([1, 2, 3], false); test([2, 3, 65537], true); test([7, 5, 11], true); test([23, 11, 37], true); test([12, 7, 5], false); test([10, 100, 1000], false); console.log("Of " + results.total + " tests, " + results.bad + " failed, " + (results.total - results.bad) + " passed."); }());