From 0f1227e496661e8ea7171cd08b735fda3004d0e0 Mon Sep 17 00:00:00 2001 From: Sander Ploegsma Date: Sun, 22 Oct 2023 19:36:43 +0200 Subject: [PATCH 1/3] Sync tests for practice exercise `collatz-conjecture` --- .../collatz-conjecture/.meta/tests.toml | 23 ++++++++++++++++--- .../practice/collatz-conjecture/.meta/version | 1 - .../src/test/java/CollatzCalculatorTest.java | 4 ++-- 3 files changed, 22 insertions(+), 6 deletions(-) delete mode 100644 exercises/practice/collatz-conjecture/.meta/version diff --git a/exercises/practice/collatz-conjecture/.meta/tests.toml b/exercises/practice/collatz-conjecture/.meta/tests.toml index 04187f605..cc34e1684 100644 --- a/exercises/practice/collatz-conjecture/.meta/tests.toml +++ b/exercises/practice/collatz-conjecture/.meta/tests.toml @@ -1,6 +1,13 @@ -# This is an auto-generated file. Regular comments will be removed when this -# file is regenerated. Regenerating will not touch any manually added keys, -# so comments can be added in a "comment" key. +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. [540a3d51-e7a6-47a5-92a3-4ad1838f0bfd] description = "zero steps for one" @@ -16,6 +23,16 @@ description = "large number of even and odd steps" [7d4750e6-def9-4b86-aec7-9f7eb44f95a3] description = "zero is an error" +include = false + +[2187673d-77d6-4543-975e-66df6c50e2da] +description = "zero is an error" +reimplements = "7d4750e6-def9-4b86-aec7-9f7eb44f95a3" [c6c795bf-a288-45e9-86a1-841359ad426d] description = "negative value is an error" +include = false + +[ec11f479-56bc-47fd-a434-bcd7a31a7a2e] +description = "negative value is an error" +reimplements = "c6c795bf-a288-45e9-86a1-841359ad426d" diff --git a/exercises/practice/collatz-conjecture/.meta/version b/exercises/practice/collatz-conjecture/.meta/version deleted file mode 100644 index 6085e9465..000000000 --- a/exercises/practice/collatz-conjecture/.meta/version +++ /dev/null @@ -1 +0,0 @@ -1.2.1 diff --git a/exercises/practice/collatz-conjecture/src/test/java/CollatzCalculatorTest.java b/exercises/practice/collatz-conjecture/src/test/java/CollatzCalculatorTest.java index de03da5fa..24f368c66 100644 --- a/exercises/practice/collatz-conjecture/src/test/java/CollatzCalculatorTest.java +++ b/exercises/practice/collatz-conjecture/src/test/java/CollatzCalculatorTest.java @@ -36,7 +36,7 @@ public void testAVeryLargeInput() { public void testZeroIsConsideredInvalidInput() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> collatzCalculator.computeStepCount(0)) - .withMessage("Only natural numbers are allowed"); + .withMessage("Only positive integers are allowed"); } @Ignore("Remove to run test") @@ -44,7 +44,7 @@ public void testZeroIsConsideredInvalidInput() { public void testNegativeIntegerIsConsideredInvalidInput() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> collatzCalculator.computeStepCount(-15)) - .withMessage("Only natural numbers are allowed"); + .withMessage("Only positive integers are allowed"); } } From ff3d377e97fdb07adb573afc1641280673c5ff8c Mon Sep 17 00:00:00 2001 From: Sander Ploegsma Date: Sun, 22 Oct 2023 19:44:50 +0200 Subject: [PATCH 2/3] Update reference implementation --- .../.meta/src/reference/java/CollatzCalculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/practice/collatz-conjecture/.meta/src/reference/java/CollatzCalculator.java b/exercises/practice/collatz-conjecture/.meta/src/reference/java/CollatzCalculator.java index 4c1626f2b..4f526011e 100644 --- a/exercises/practice/collatz-conjecture/.meta/src/reference/java/CollatzCalculator.java +++ b/exercises/practice/collatz-conjecture/.meta/src/reference/java/CollatzCalculator.java @@ -2,7 +2,7 @@ class CollatzCalculator { int computeStepCount(final int start) { if (start <= 0) { - throw new IllegalArgumentException("Only natural numbers are allowed"); + throw new IllegalArgumentException("Only positive integers are allowed"); } if (start == 1) { return 0; From 23f45e4676225e134d77338bc4412dc189b1a5d6 Mon Sep 17 00:00:00 2001 From: Sander Ploegsma Date: Sun, 22 Oct 2023 19:44:55 +0200 Subject: [PATCH 3/3] Update approaches --- .../practice/collatz-conjecture/.approaches/introduction.md | 4 ++-- .../.approaches/intstream-iterate/content.md | 2 +- .../.approaches/intstream-iterate/snippet.txt | 2 +- .../collatz-conjecture/.approaches/while-loop/content.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/exercises/practice/collatz-conjecture/.approaches/introduction.md b/exercises/practice/collatz-conjecture/.approaches/introduction.md index 6798f5e68..4b22b031f 100644 --- a/exercises/practice/collatz-conjecture/.approaches/introduction.md +++ b/exercises/practice/collatz-conjecture/.approaches/introduction.md @@ -11,7 +11,7 @@ class CollatzCalculator { int computeStepCount(int start) { if (start < 1) { - throw new IllegalArgumentException("Only natural numbers are allowed"); + throw new IllegalArgumentException("Only positive integers are allowed"); } int steps = 0; @@ -40,7 +40,7 @@ class CollatzCalculator { long computeStepCount(int start) { if (start < 1) { - throw new IllegalArgumentException("Only natural numbers are allowed"); + throw new IllegalArgumentException("Only positive integers are allowed"); } return IntStream.iterate(start, num -> num != 1, num -> (num & 1) == 1 ? 3 * num + 1 : num >> 1).count(); diff --git a/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/content.md b/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/content.md index cb0f0abdc..719ea32c9 100644 --- a/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/content.md +++ b/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/content.md @@ -7,7 +7,7 @@ class CollatzCalculator { long computeStepCount(int start) { if (start < 1) { - throw new IllegalArgumentException("Only natural numbers are allowed"); + throw new IllegalArgumentException("Only positive integers are allowed"); } return IntStream.iterate(start, num -> num != 1, num -> (num & 1) == 1 ? 3 * num + 1 : num >> 1).count(); diff --git a/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/snippet.txt b/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/snippet.txt index 5fcc5c57b..bdb33b04d 100644 --- a/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/snippet.txt +++ b/exercises/practice/collatz-conjecture/.approaches/intstream-iterate/snippet.txt @@ -1,6 +1,6 @@ long computeStepCount(int start) { if (start < 1) { - throw new IllegalArgumentException("Only natural numbers are allowed"); + throw new IllegalArgumentException("Only positive integers are allowed"); } return IntStream.iterate(start, num -> num != 1, num -> (num & 1) == 1 ? 3 * num + 1 : num >> 1).count(); diff --git a/exercises/practice/collatz-conjecture/.approaches/while-loop/content.md b/exercises/practice/collatz-conjecture/.approaches/while-loop/content.md index 8c4df5184..89172e819 100644 --- a/exercises/practice/collatz-conjecture/.approaches/while-loop/content.md +++ b/exercises/practice/collatz-conjecture/.approaches/while-loop/content.md @@ -5,7 +5,7 @@ class CollatzCalculator { int computeStepCount(int start) { if (start < 1) { - throw new IllegalArgumentException("Only natural numbers are allowed"); + throw new IllegalArgumentException("Only positive integers are allowed"); } int steps = 0;