Skip to content

Commit 21e9249

Browse files
Run all tests under folders
1 parent 562c431 commit 21e9249

File tree

2 files changed

+48
-40
lines changed

2 files changed

+48
-40
lines changed

LeetcodeProblemsTests/Algorithms/medium/K_Closest_Points_to_Origin_Test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ var kClosest = require("../../../LeetcodeProblems/Algorithms/medium/K_Closest_Po
44
function test1() {
55
var points = [[1,3],[-2,2]];
66
var output = [[-2,2]];
7-
assert.strictEqual(kClosest(points,1), output);
7+
assert.deepStrictEqual(kClosest(points,1), output);
88
}
99

1010
function test2() {
1111
var points = [[3,3],[5,-1],[-2,4]];
1212
var output = [[-2,4],[3,3]];
1313

14-
assert.strictEqual(kClosest(points,2), output);
14+
assert.deepStrictEqual(kClosest(points,2).sort, output.sort);
1515
}
1616

1717
function test() {

Test.js

+46-38
Original file line numberDiff line numberDiff line change
@@ -3,57 +3,65 @@
33
const fs = require("fs");
44

55
const TESTS_FOLDERS = [
6-
// "./LeetcodeProblemsTests/Algorithms/easy/",
7-
"./LeetcodeProblemsTests/Algorithms/medium/"
8-
// "./LeetcodeProblemsTests/Algorithms/hard/"
6+
"./LeetcodeProblemsTests/Algorithms/easy/",
7+
"./LeetcodeProblemsTests/Algorithms/medium/",
8+
"./LeetcodeProblemsTests/Algorithms/hard/"
99
]
1010

1111
const REGEX_PATTERN_HIDDEN_FILES = /(^|\/)\.[^\/\.]/g;
1212

1313
var test_all = async function () {
1414
try {
15-
console.log("problems");
16-
const problems = await loadProblemsFiles();
17-
// console.log(problems);
18-
for (i in problems) {
19-
console.log("Solving: " + problems[i]);
20-
21-
const tests = require(problems[i]);
22-
console.log("*" * 100);
23-
if (Object.keys(tests).length == 0) {
24-
console.warn("🔴 The problem " + problems[i] + " doesn't have a test method implemented.\n");
25-
continue;
26-
}
27-
for(testIdx in tests) {
28-
tests[testIdx]();
29-
}
30-
console.log("✅ Tests for " + problems[i] + " run successfully \n");
31-
}
15+
var problems = [];
16+
for(const i in TESTS_FOLDERS) {
17+
var folder = TESTS_FOLDERS[i];
18+
var new_problems = await loadProblemsFiles(folder); // await
19+
problems = problems.concat(new_problems);
20+
};
21+
console.log(problems);
22+
23+
var solvePromises = problems.map(solve);
24+
25+
await Promise.all(solvePromises)
3226
} catch (error) {
3327
console.log(error);
3428
throw new Error(error);
3529
}
3630
};
3731

38-
var loadProblemsFiles = () => {
39-
return new Promise(function (resolve, reject) {
40-
const problems = [];
41-
42-
for(i in TESTS_FOLDERS) {
43-
folder = TESTS_FOLDERS[i];
44-
fs.readdir(folder, (error, files) => {
45-
if (error) {
46-
console.log("........................................................................");
47-
reject(error);
48-
} else {
49-
console.log(folder);
50-
new_problems = files.filter((item) => !REGEX_PATTERN_HIDDEN_FILES.test(item));
51-
new_problems = new_problems.map((item) => folder + item);
52-
// console.log(new_problems);
53-
resolve(new_problems);
54-
}
55-
});
32+
var solve = (problem) => {
33+
try {
34+
console.log("Solving: " + problem);
35+
36+
const tests = require(problem);
37+
console.log("*" * 100);
38+
if (Object.keys(tests).length == 0) {
39+
console.warn("🔴 The problem " + problem + " doesn't have a test method implemented.\n");
40+
return;
5641
}
42+
for(testIdx in tests) {
43+
tests[testIdx]();
44+
}
45+
console.log("✅ Tests for " + problem + " run successfully \n");
46+
} catch (error) {
47+
console.log(error);
48+
throw new Error(error);
49+
}
50+
}
51+
52+
var loadProblemsFiles = (folder) => {
53+
return new Promise(function (resolve, reject) {
54+
fs.readdir(folder, (error, files) => {
55+
if (error) {
56+
reject(error);
57+
} else {
58+
console.log(folder);
59+
new_problems = files.filter((item) => !REGEX_PATTERN_HIDDEN_FILES.test(item));
60+
new_problems = new_problems.map((item) => folder + item);
61+
62+
resolve(new_problems);
63+
}
64+
});
5765
});
5866
};
5967

0 commit comments

Comments
 (0)