From cf87cbce0c0d4826eed5a3925d1791a396dafc8d Mon Sep 17 00:00:00 2001 From: rzuckerm Date: Sat, 3 May 2025 09:17:59 -0500 Subject: [PATCH 1/2] Modify Tests in Javascript --- archive/j/javascript/convex-hull.js | 50 +++++++++++++------------- archive/j/javascript/dijkstra.js | 2 +- archive/j/javascript/factorial.js | 22 ++++++------ archive/j/javascript/fibonacci.js | 2 +- archive/j/javascript/hello-world.js | 2 +- archive/j/javascript/insertion-sort.js | 2 +- archive/j/javascript/job-sequencing.js | 2 +- archive/j/javascript/linear-search.js | 14 ++++---- archive/j/javascript/merge-sort.js | 4 +-- archive/j/javascript/prime-number.js | 4 +-- archive/j/javascript/quick-sort.js | 36 +++++++++---------- archive/j/javascript/quine.js | 2 +- archive/j/javascript/selection-sort.js | 2 +- archive/j/javascript/testinfo.yml | 2 +- 14 files changed, 72 insertions(+), 74 deletions(-) diff --git a/archive/j/javascript/convex-hull.js b/archive/j/javascript/convex-hull.js index 9cb781a78..57454708a 100644 --- a/archive/j/javascript/convex-hull.js +++ b/archive/j/javascript/convex-hull.js @@ -6,30 +6,30 @@ */ function convexHull(points) { function orientation(p, q, r) { - const val = (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y) - if (val === 0) return 0 - return val > 0 ? 1 : -1 + const val = (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); + if (val === 0) return 0; + return val > 0 ? 1 : -1; } const n = points.length - if (n < 3) return points + if (n < 3) return points; - let minPointIndex = 0 + let minPointIndex = 0; for (let i = 0; i < n; i++) { if ( (points[i].y < points[minPointIndex].y) || (points[i].y == points[minPointIndex].y && points[i].x < points[minPointIndex].x) ) { - minPointIndex = i + minPointIndex = i; } } const sortedPoints = [...points].sort((a, b) => { - const angleA = Math.atan2(a.y - points[minPointIndex].y, a.x - points[minPointIndex].x) - const angleB = Math.atan2(b.y - points[minPointIndex].y, b.x - points[minPointIndex].x) - return angleA - angleB + const angleA = Math.atan2(a.y - points[minPointIndex].y, a.x - points[minPointIndex].x); + const angleB = Math.atan2(b.y - points[minPointIndex].y, b.x - points[minPointIndex].x); + return angleA - angleB; }) - const convexHull = [sortedPoints[0], sortedPoints[1]] + const convexHull = [sortedPoints[0], sortedPoints[1]]; for (let i = 2; i < n; i++) { while ( @@ -40,12 +40,12 @@ function convexHull(points) { sortedPoints[i] ) !== -1 ) { - convexHull.pop() + convexHull.pop(); } - convexHull.push(sortedPoints[i]) + convexHull.push(sortedPoints[i]); } - return convexHull + return convexHull; } /** @@ -56,11 +56,11 @@ function convexHull(points) { */ function main(inputX, inputY) { if (inputX == undefined || inputY == undefined){ - inputX = " " - inputY = " " + inputX = " "; + inputY = " "; } - const xArray = inputX.split(",").map(Number) - const yArray = inputY.split(",").map(Number) + const xArray = inputX.split(",").map(Number); + const yArray = inputY.split(",").map(Number); if ( xArray.length < 3 || @@ -70,17 +70,17 @@ function main(inputX, inputY) { ) { console.log( 'Usage: please provide at least 3 x and y coordinates as separate lists (e.g. "100, 440, 210")' - ) - return + ); + return; } - const points = xArray.map((x, i) => ({ x, y: yArray[i] })) + const points = xArray.map((x, i) => ({ x, y: yArray[i] })); - const convexHullResult = convexHull(points) - convexHullResult.forEach((point) => console.log(`(${point.x}, ${point.y})`)) + const convexHullResult = convexHull(points); + convexHullResult.forEach((point) => console.log(`(${point.x}, ${point.y})`)); } // Run the executable function with command-line arguments -const inputX = process.argv[2] -const inputY = process.argv[3] -main(inputX, inputY) +const inputX = process.argv[2]; +const inputY = process.argv[3]; +main(inputX, inputY); diff --git a/archive/j/javascript/dijkstra.js b/archive/j/javascript/dijkstra.js index a49cb9deb..5fab84d0c 100644 --- a/archive/j/javascript/dijkstra.js +++ b/archive/j/javascript/dijkstra.js @@ -84,4 +84,4 @@ function main() { console.log(dijkstra(src, des, n)); } -main() +main(); diff --git a/archive/j/javascript/factorial.js b/archive/j/javascript/factorial.js index 3c5d52636..df6bb15b4 100644 --- a/archive/j/javascript/factorial.js +++ b/archive/j/javascript/factorial.js @@ -10,7 +10,7 @@ function factorial(num) { product *= i } } - return product + return product; } /** @@ -24,36 +24,36 @@ function main(input) { // No input if ( !input ) { - console.log(usage) - return + console.log(usage); + return; } /** * If we remove all the integer characters from the input and are left with * an empty string, then we have a valid integer. */ - const inputValidation = input.replace(/[0-9]/g,'') + const inputValidation = input.replace(/[0-9]/g,''); if ( inputValidation === '' ) { // Valid integer - const parsedInput = parseInt(input) + const parsedInput = parseInt(input); if ( parsedInput < 0 ) { - console.log(usage) + console.log(usage); } else if ( parsedInput > 170 ) { - console.log(`Input of ${parsedInput} is too large to calculate a factorial for. Max input is 170.`) + console.log(`Input of ${parsedInput} is too large to calculate a factorial for. Max input is 170.`); } else { - console.log(factorial(parsedInput)) + console.log(factorial(parsedInput)); } } else { // Anything non integer - console.log(usage) + console.log(usage); } } // Run the executable function -const input = process.argv[2] -main(input) \ No newline at end of file +const input = process.argv[2]; +main(input); diff --git a/archive/j/javascript/fibonacci.js b/archive/j/javascript/fibonacci.js index 63675c39b..7225702ac 100644 --- a/archive/j/javascript/fibonacci.js +++ b/archive/j/javascript/fibonacci.js @@ -16,5 +16,5 @@ num = process.argv[2]; if (num && !isNaN(num)) { fibonacci(num); } else { - console.log("Usage: please input the count of fibonacci numbers to output") + console.log("Usage: please input the count of fibonacci numbers to output"); } diff --git a/archive/j/javascript/hello-world.js b/archive/j/javascript/hello-world.js index 422c89ef9..184dfcc99 100644 --- a/archive/j/javascript/hello-world.js +++ b/archive/j/javascript/hello-world.js @@ -1 +1 @@ -console.log("Hello, World!") +console.log("Hello, World!"); diff --git a/archive/j/javascript/insertion-sort.js b/archive/j/javascript/insertion-sort.js index 5b943d8c8..8f9552156 100644 --- a/archive/j/javascript/insertion-sort.js +++ b/archive/j/javascript/insertion-sort.js @@ -28,7 +28,7 @@ sanitizeArray = (list) => { const main = (input) => { try { arr = sanitizeArray(input); - arr.length <= 1 ? exit() : console.log(insertionSort(arr)); + arr.length <= 1 ? exit() : console.log(insertionSort(arr).join(", ")); } catch(err) { exit(); } diff --git a/archive/j/javascript/job-sequencing.js b/archive/j/javascript/job-sequencing.js index 3edf612e1..eed6f5e53 100644 --- a/archive/j/javascript/job-sequencing.js +++ b/archive/j/javascript/job-sequencing.js @@ -97,4 +97,4 @@ const main = (string1, string2) => { } } -main(process.argv[2], process.argv[3]) \ No newline at end of file +main(process.argv[2], process.argv[3]); diff --git a/archive/j/javascript/linear-search.js b/archive/j/javascript/linear-search.js index f819c7f58..d2350bffc 100644 --- a/archive/j/javascript/linear-search.js +++ b/archive/j/javascript/linear-search.js @@ -1,15 +1,15 @@ function LinSearch(arr = [], valToSearch) { let check = false; - if (arr.length == 0) return check - if(valToSearch==='') return check + if (arr.length == 0) return check; + if(valToSearch==='') return check; else { for (i = 0; i < arr.length; i++) { if (arr[i] == valToSearch){ - check = true - return check + check = true; + return check; } } - return check + return check; } } @@ -23,7 +23,7 @@ sanitizeArray = (list) => { const exit = () => { const usage = 'Usage: please provide a list of integers ("1, 4, 5, 11, 12") and the integer to find ("11")'; - console.log(usage) + console.log(usage); process.exit(); } @@ -36,4 +36,4 @@ const main = (input, key) => { } } -main(process.argv[2], process.argv[3]) +main(process.argv[2], process.argv[3]); diff --git a/archive/j/javascript/merge-sort.js b/archive/j/javascript/merge-sort.js index f621cf156..445fafca4 100644 --- a/archive/j/javascript/merge-sort.js +++ b/archive/j/javascript/merge-sort.js @@ -37,7 +37,7 @@ const main = (input) => { }); arr = arr.filter(n => n); arr=mergeSort(arr); - console.log(arr); + console.log(arr.join(", ")); } else { console.log(usage); @@ -52,4 +52,4 @@ if (process.argv.length > 2) { } else { console.log(usage); -} \ No newline at end of file +} diff --git a/archive/j/javascript/prime-number.js b/archive/j/javascript/prime-number.js index e1139735d..5e7fd7fdb 100644 --- a/archive/j/javascript/prime-number.js +++ b/archive/j/javascript/prime-number.js @@ -1,6 +1,6 @@ const isPrime = (number) => { if(number <= 1) - return false + return false; for (let i = 2; i <= Math.sqrt(number); i++) { if (number % i == 0) { @@ -11,7 +11,7 @@ const isPrime = (number) => { }; const input = process.argv[2]; - let number = Number(input) + let number = Number(input); if (input !== '' && Number.isInteger(number) && number >= 0) { isPrime(input) ? console.log("prime") : console.log("composite"); diff --git a/archive/j/javascript/quick-sort.js b/archive/j/javascript/quick-sort.js index d404d10e3..1d20d9b30 100644 --- a/archive/j/javascript/quick-sort.js +++ b/archive/j/javascript/quick-sort.js @@ -6,33 +6,33 @@ const quickSort = (arr, start, end) => { if(start < end) { - let pivot = partition(arr, start, end) - quickSort(arr, start, pivot - 1) - quickSort(arr, pivot + 1, end) + let pivot = partition(arr, start, end); + quickSort(arr, start, pivot - 1); + quickSort(arr, pivot + 1, end); } } const partition = (arr, start, end) => { - let pivot = end - let i = start - 1 - let j = start + let pivot = end; + let i = start - 1; + let j = start; while (j < pivot) { if (arr[j] > arr[pivot]) { - j++ + j++; } else { - i++ - swap(arr, j, i) - j++ + i++; + swap(arr, j, i); + j++; } } - swap(arr, i + 1, pivot) - return i + 1 + swap(arr, i + 1, pivot); + return i + 1; } const swap = (arr, first, second) => { - let temp = arr[first] - arr[first] = arr[second] - arr[second] = temp + let temp = arr[first]; + arr[first] = arr[second]; + arr[second] = temp; } const main = (input) => { @@ -61,8 +61,8 @@ const main = (input) => { arr = arr.filter(n => n); // apply quicksort and output result - quickSort(arr, 0, arr.length - 1) - console.log(arr) + quickSort(arr, 0, arr.length - 1); + console.log(arr.join(", ")); } else { // invalid input @@ -79,5 +79,3 @@ if (process.argv.length > 2) { else { console.log(usage); } - - diff --git a/archive/j/javascript/quine.js b/archive/j/javascript/quine.js index 2025e4f8c..a7dfd6149 100644 --- a/archive/j/javascript/quine.js +++ b/archive/j/javascript/quine.js @@ -1 +1 @@ -(function(){console.log('('+arguments.callee.toString()+')()')})() +(function(){console.log('('+arguments.callee.toString()+')();')})(); diff --git a/archive/j/javascript/selection-sort.js b/archive/j/javascript/selection-sort.js index 7d75f7325..e25bb7088 100755 --- a/archive/j/javascript/selection-sort.js +++ b/archive/j/javascript/selection-sort.js @@ -34,4 +34,4 @@ const main = (input) => { } } -main(process.argv[2]) +main(process.argv[2]); diff --git a/archive/j/javascript/testinfo.yml b/archive/j/javascript/testinfo.yml index ef4ebfd91..6a0f14592 100644 --- a/archive/j/javascript/testinfo.yml +++ b/archive/j/javascript/testinfo.yml @@ -4,5 +4,5 @@ folder: container: image: "node" - tag: "11-alpine" + tag: "20-alpine" cmd: "node {{ source.name }}{{ source.extension }}" From c131fa07bbdd6d78d1e9016c91ad33b9b81c4d13 Mon Sep 17 00:00:00 2001 From: rzuckerm Date: Sat, 3 May 2025 09:24:54 -0500 Subject: [PATCH 2/2] Missed a semicolon --- archive/j/javascript/factorial.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archive/j/javascript/factorial.js b/archive/j/javascript/factorial.js index df6bb15b4..69fa193ab 100644 --- a/archive/j/javascript/factorial.js +++ b/archive/j/javascript/factorial.js @@ -7,7 +7,7 @@ function factorial(num) { let product = 1; if ( num > 1 ) { for ( let i = 2; i <= num; i++ ) { - product *= i + product *= i; } } return product;