From a0604f684a2a81a78071246a7f227f4040dea01b Mon Sep 17 00:00:00 2001 From: Christian Willner <34183939+vaeng@users.noreply.github.com> Date: Mon, 28 Sep 2026 21:57:18 +0200 Subject: [PATCH 1/2] chore: sync bob tests --- exercises/practice/bob/.meta/tests.toml | 3 +++ exercises/practice/bob/bob_test.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/exercises/practice/bob/.meta/tests.toml b/exercises/practice/bob/.meta/tests.toml index 5299e289..78df2a03 100644 --- a/exercises/practice/bob/.meta/tests.toml +++ b/exercises/practice/bob/.meta/tests.toml @@ -51,6 +51,9 @@ description = "shouting with special characters" [e6793c1c-43bd-4b8d-bc11-499aea73925f] description = "shouting with no exclamation mark" +[3c954328-86fb-4c71-8961-e18d6a5e2517] +description = "shouting a statement containing a question mark" + [aa8097cc-c548-4951-8856-14a404dd236a] description = "statement containing question mark" diff --git a/exercises/practice/bob/bob_test.cpp b/exercises/practice/bob/bob_test.cpp index 118b15a2..00358c3e 100644 --- a/exercises/practice/bob/bob_test.cpp +++ b/exercises/practice/bob/bob_test.cpp @@ -73,6 +73,11 @@ TEST_CASE("shouting_with_no_exclamation_mark", REQUIRE("Whoa, chill out!" == bob::hey("I HATE THE DMV")); } +TEST_CASE("shouting_a_statement_containing_a_question_mark", + "[3c954328-86fb-4c71-8961-e18d6a5e2517]") { + REQUIRE("Whoa, chill out!" == bob::hey("DO LIONS EAT PEOPLE? AHHHHH.")); +} + TEST_CASE("statement_containing_question_mark", "[aa8097cc-c548-4951-8856-14a404dd236a]") { REQUIRE("Whatever." == bob::hey("Ending with ? means a question.")); From 7c928d1b971072cd1ba512493860ffe324a007ae Mon Sep 17 00:00:00 2001 From: Christian Willner <34183939+vaeng@users.noreply.github.com> Date: Mon, 28 Sep 2026 22:23:18 +0200 Subject: [PATCH 2/2] chore: sync perfect numbers --- exercises/practice/perfect-numbers/.meta/tests.toml | 3 +++ exercises/practice/perfect-numbers/perfect_numbers_test.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/exercises/practice/perfect-numbers/.meta/tests.toml b/exercises/practice/perfect-numbers/.meta/tests.toml index ec288891..81d48408 100644 --- a/exercises/practice/perfect-numbers/.meta/tests.toml +++ b/exercises/practice/perfect-numbers/.meta/tests.toml @@ -27,6 +27,9 @@ description = "Abundant numbers -> Medium abundant number is classified correctl [ec7792e6-8786-449c-b005-ce6dd89a772b] description = "Abundant numbers -> Large abundant number is classified correctly" +[05f15b93-849c-45e9-9c7d-1ea131ef7d10] +description = "Abundant numbers -> Perfect square abundant number is classified correctly" + [e610fdc7-2b6e-43c3-a51c-b70fb37413ba] description = "Deficient numbers -> Smallest prime deficient number is classified correctly" diff --git a/exercises/practice/perfect-numbers/perfect_numbers_test.cpp b/exercises/practice/perfect-numbers/perfect_numbers_test.cpp index b7984b36..8d1f82e2 100644 --- a/exercises/practice/perfect-numbers/perfect_numbers_test.cpp +++ b/exercises/practice/perfect-numbers/perfect_numbers_test.cpp @@ -49,6 +49,12 @@ TEST_CASE("Large abundant number is classified correctly", perfect_numbers::classify(33550335)); } +TEST_CASE("Perfect square abundant number is classified correctly", + "[05f15b93-849c-45e9-9c7d-1ea131ef7d10]") { + REQUIRE(perfect_numbers::classification::abundant == + perfect_numbers::classify(196)); +} + TEST_CASE("Smallest prime deficient number is classified correctly", "[e610fdc7-2b6e-43c3-a51c-b70fb37413ba]") { REQUIRE(perfect_numbers::classification::deficient ==