/* Tests for prosperon */ var test = {}; var tests = []; var pass = 0; var fail = 0; var failed = []; test.run_suite = function (file) { test = []; pass = 0; fail = 0; failed = []; }; test.run = function (name, fn) { var func = function () { print(`${pass + fail + 1}/${tests.length}: ${name} ... `); var p = profile.now(); var b = fn(); p = profile.lap(p); print(`${b ? "pass" : "fail"} [${p}]`); return b; }; func.testname = name; tests.push(func); }; say(`Testing ${tests.length} tests.`); for (var t of tests) { if (t()) pass++; else { fail++; failed.push(t.testname); } print("\n"); } say(`Passed ${pass} tests and failed ${fail} [${((pass * 100) / (pass + fail)).toPrecision(4)}%].`); say(`Failed tests are:`); for (var f of failed) say(f); os.quit(); return { test };