From 02585f5d12ff7995e05d89a007efd7ea6cf9c044 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 12 May 2020 22:21:36 +0200 Subject: [PATCH 01/18] BogoSort.js: Simplify Array.isSorted() and add doctests As discussed at https://github.com/TheAlgorithms/Javascript/issues/164#issuecomment-627437233 Also related to add doctests as discussed in #142 --- Sorts/BogoSort.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Sorts/BogoSort.js b/Sorts/BogoSort.js index f8961bb181..68d68edcc2 100644 --- a/Sorts/BogoSort.js +++ b/Sorts/BogoSort.js @@ -3,14 +3,17 @@ * sorted in ascending order. */ +// > [].isSorted() +// true +// > [1].isSorted() +// true +// > [1,2,3].isSorted() +// true +// > [3,2,1].isSorted() +// false /* eslint no-extend-native: ["off", { "exceptions": ["Object"] }] */ Array.prototype.isSorted = function () { const length = this.length - - if (length < 2) { - return true - } - for (let i = 0; i < length - 1; i++) { if (this[i] > this[i + 1]) { return false From 741e8fbb4be2f7fe746f38f0862e3151b81bf862 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 12 May 2020 23:58:56 +0200 Subject: [PATCH 02/18] node -e "doctest('Sorts/BogoSort.js', {})" --- .github/workflows/nodejs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 169c2f20ff..df3c8504fd 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -14,6 +14,8 @@ jobs: node-version: ${{ matrix.node-version }} - name: npm install, build, and test run: | + npm install doctest + node -e "doctest('Sorts/BogoSort.js', {})" npm install standard --save-dev npx standard cd Linear-Algebra-Javascript From 7d79a4196b15f2cd23d0b7e0430493f80485530c Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:10:46 +0200 Subject: [PATCH 03/18] doctest --module Sorts Sorts/BogoSort.js --- .github/workflows/nodejs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index df3c8504fd..4eb36bf9c5 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -15,7 +15,8 @@ jobs: - name: npm install, build, and test run: | npm install doctest - node -e "doctest('Sorts/BogoSort.js', {})" + doctest --module Sorts Sorts/BogoSort.js + # node -e "doctest('Sorts/BogoSort.js', {})" npm install standard --save-dev npx standard cd Linear-Algebra-Javascript From 90ec2ac52248afcb630cb53625511ea75c6ee403 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:19:13 +0200 Subject: [PATCH 04/18] Update nodejs.yml --- .github/workflows/nodejs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 4eb36bf9c5..d5dfbfd171 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -15,8 +15,8 @@ jobs: - name: npm install, build, and test run: | npm install doctest - doctest --module Sorts Sorts/BogoSort.js - # node -e "doctest('Sorts/BogoSort.js', {})" + ./doctest Sorts/BogoSort.js + # node -e "doctest('Sorts/BogoSort.js', {})" //--module Sorts npm install standard --save-dev npx standard cd Linear-Algebra-Javascript From 17107f5cb76bbfd6b9d14a24760ce9db1cfbea81 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:28:48 +0200 Subject: [PATCH 05/18] Update nodejs.yml --- .github/workflows/nodejs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index d5dfbfd171..d0a4ecba88 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -14,10 +14,10 @@ jobs: node-version: ${{ matrix.node-version }} - name: npm install, build, and test run: | - npm install doctest - ./doctest Sorts/BogoSort.js + npm install doctest standard --save-dev + doctest Sorts/BogoSort.js # node -e "doctest('Sorts/BogoSort.js', {})" //--module Sorts - npm install standard --save-dev + # npm install standard --save-dev npx standard cd Linear-Algebra-Javascript npm ci From 424d1d81356597ebc532bd18ed079f5f9b296649 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:32:34 +0200 Subject: [PATCH 06/18] npx doctest Sorts/BogoSort.js || true --- .github/workflows/nodejs.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index d0a4ecba88..076923aac3 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -15,8 +15,11 @@ jobs: - name: npm install, build, and test run: | npm install doctest standard --save-dev - doctest Sorts/BogoSort.js - # node -e "doctest('Sorts/BogoSort.js', {})" //--module Sorts + pwd + ls -la + doctest Sorts/BogoSort.js || true + npx doctest Sorts/BogoSort.js || true + node -e "doctest('Sorts/BogoSort.js', {})" || true # npm install standard --save-dev npx standard cd Linear-Algebra-Javascript From 9328ac686e62dc21d22e616b30e8df529ed1be55 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:38:04 +0200 Subject: [PATCH 07/18] node_modules/doctest Sorts/BogoSort.js || true --- .github/workflows/nodejs.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 076923aac3..4b6524da79 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -17,9 +17,13 @@ jobs: npm install doctest standard --save-dev pwd ls -la - doctest Sorts/BogoSort.js || true + echo "A" + node_modules/doctest Sorts/BogoSort.js || true + echo "B" npx doctest Sorts/BogoSort.js || true - node -e "doctest('Sorts/BogoSort.js', {})" || true + echo "C" + node -e "node_modules/doctest('Sorts/BogoSort.js', {})" || true + echo "D" # npm install standard --save-dev npx standard cd Linear-Algebra-Javascript From b8350d912269dc68be28c689d1a5daa044bcabcf Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:42:05 +0200 Subject: [PATCH 08/18] npx doctest Sorts/BogoSort.js --- .github/workflows/nodejs.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 4b6524da79..4c638c216a 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -15,16 +15,7 @@ jobs: - name: npm install, build, and test run: | npm install doctest standard --save-dev - pwd - ls -la - echo "A" - node_modules/doctest Sorts/BogoSort.js || true - echo "B" - npx doctest Sorts/BogoSort.js || true - echo "C" - node -e "node_modules/doctest('Sorts/BogoSort.js', {})" || true - echo "D" - # npm install standard --save-dev + npx doctest Sorts/BogoSort.js npx standard cd Linear-Algebra-Javascript npm ci From 8ada7ec5f7fa62a851e5a0e4202f55f5c93a3959 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 12 May 2020 22:42:26 +0000 Subject: [PATCH 09/18] updating DIRECTORY.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 772fbe4ecc..5f9eb3fdee 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -70,8 +70,8 @@ * [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) * [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) * [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) - * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) + * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) * [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) * [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js) From 66391ca209a5e4ab26984d7e6b2a12a22f0b37e9 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:47:49 +0200 Subject: [PATCH 10/18] Ensure that build fail on bad test --- Sorts/BogoSort.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sorts/BogoSort.js b/Sorts/BogoSort.js index 68d68edcc2..385fa53b78 100644 --- a/Sorts/BogoSort.js +++ b/Sorts/BogoSort.js @@ -4,7 +4,7 @@ */ // > [].isSorted() -// true +// false // > [1].isSorted() // true // > [1,2,3].isSorted() From e8f1d888b3887349da27df80b42ee20970a02065 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 12 May 2020 22:48:07 +0000 Subject: [PATCH 11/18] updating DIRECTORY.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 5f9eb3fdee..772fbe4ecc 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -70,8 +70,8 @@ * [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) * [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) * [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) - * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) + * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) * [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) * [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) * [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js) From f59062ae1a9f14447eeeb8e6eca2c001f670b820 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 00:50:23 +0200 Subject: [PATCH 12/18] Ready for review --- Sorts/BogoSort.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sorts/BogoSort.js b/Sorts/BogoSort.js index 385fa53b78..68d68edcc2 100644 --- a/Sorts/BogoSort.js +++ b/Sorts/BogoSort.js @@ -4,7 +4,7 @@ */ // > [].isSorted() -// false +// true // > [1].isSorted() // true // > [1,2,3].isSorted() From 050f56b190065ef28ba71bc9e9eea2a17635954c Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 01:27:55 +0200 Subject: [PATCH 13/18] Add doctest to BucketSort.js --- Sorts/BucketSort.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Sorts/BucketSort.js b/Sorts/BucketSort.js index 1a7fe77130..9423c4c104 100644 --- a/Sorts/BucketSort.js +++ b/Sorts/BucketSort.js @@ -55,6 +55,8 @@ function bucketSort (list, size) { // Testing const arrOrignal = [5, 6, 7, 8, 1, 2, 12, 14] +// > bucketSort(arrOrignal) +// [1, 2, 5, 6, 7, 8, 12, 14] // Array before Sort console.log(arrOrignal) const arrSorted = bucketSort(arrOrignal) From cafb7e55b46e48894fb702d0537f38c3547a8d66 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 12 May 2020 23:28:15 +0000 Subject: [PATCH 14/18] updating DIRECTORY.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 772fbe4ecc..5f9eb3fdee 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -70,8 +70,8 @@ * [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) * [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) * [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) - * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) + * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) * [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) * [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js) From 215005325cbba2d61ce303cb45de681c91540ca1 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 01:28:46 +0200 Subject: [PATCH 15/18] Update nodejs.yml --- .github/workflows/nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 4c638c216a..e3f8425252 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -15,7 +15,7 @@ jobs: - name: npm install, build, and test run: | npm install doctest standard --save-dev - npx doctest Sorts/BogoSort.js + npx doctest Sorts/BogoSort.js BucketSort.js npx standard cd Linear-Algebra-Javascript npm ci From 5331e55dfc428bb309c39dcba37505d4c877fb37 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 12 May 2020 23:29:03 +0000 Subject: [PATCH 16/18] updating DIRECTORY.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 5f9eb3fdee..772fbe4ecc 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -70,8 +70,8 @@ * [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) * [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) * [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) - * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) + * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) * [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) * [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) * [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js) From 4913d5fe14cc631bd4dd3a0857122370b829d6bc Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 13 May 2020 01:31:00 +0200 Subject: [PATCH 17/18] npx doctest Sorts/BogoSort.js Sorts/BucketSort.js --- .github/workflows/nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index e3f8425252..504096febb 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -15,7 +15,7 @@ jobs: - name: npm install, build, and test run: | npm install doctest standard --save-dev - npx doctest Sorts/BogoSort.js BucketSort.js + npx doctest Sorts/BogoSort.js Sorts/BucketSort.js npx standard cd Linear-Algebra-Javascript npm ci From 3432aded272bd252592e21bf41d44f5a44da989c Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 12 May 2020 23:31:32 +0000 Subject: [PATCH 18/18] updating DIRECTORY.md --- DIRECTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DIRECTORY.md b/DIRECTORY.md index 772fbe4ecc..5f9eb3fdee 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -70,8 +70,8 @@ * [CycleSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/CycleSort.js) * [FlashSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/FlashSort.js) * [GnomeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js) - * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [Heapsort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/Heapsort.js) + * [HeapSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/HeapSort.js) * [InsertionSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js) * [MergeSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/MergeSort.js) * [QuickSort](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/QuickSort.js)