From 45df1a75a650c12391a2c1b6b794f45a2dc262af Mon Sep 17 00:00:00 2001 From: tanno1 Date: Sun, 5 May 2024 16:39:52 -0700 Subject: [PATCH 1/5] updated phone-numbers test cases --- .../practice/phone-number/.meta/tests.toml | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/exercises/practice/phone-number/.meta/tests.toml b/exercises/practice/phone-number/.meta/tests.toml index 6365e12c..24dbf07a 100644 --- a/exercises/practice/phone-number/.meta/tests.toml +++ b/exercises/practice/phone-number/.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. [79666dce-e0f1-46de-95a1-563802913c35] description = "cleans the number" @@ -13,6 +20,11 @@ description = "cleans numbers with multiple spaces" [598d8432-0659-4019-a78b-1c6a73691d21] description = "invalid when 9 digits" +include = false + +[2de74156-f646-42b5-8638-0ef1d8b58bc2] +description = "invalid when 9 digits" +reimplements = "598d8432-0659-4019-a78b-1c6a73691d21" [57061c72-07b5-431f-9766-d97da7c4399d] description = "invalid when 11 digits does not start with a 1" @@ -25,12 +37,27 @@ description = "valid when 11 digits and starting with 1 even with punctuation" [c6a5f007-895a-4fc5-90bc-a7e70f9b5cad] description = "invalid when more than 11 digits" +include = false + +[4a1509b7-8953-4eec-981b-c483358ff531] +description = "invalid when more than 11 digits" +reimplements = "c6a5f007-895a-4fc5-90bc-a7e70f9b5cad" [63f38f37-53f6-4a5f-bd86-e9b404f10a60] description = "invalid with letters" +include = false + +[eb8a1fc0-64e5-46d3-b0c6-33184208e28a] +description = "invalid with letters" +reimplements = "63f38f37-53f6-4a5f-bd86-e9b404f10a60" [4bd97d90-52fd-45d3-b0db-06ab95b1244e] description = "invalid with punctuations" +include = false + +[065f6363-8394-4759-b080-e6c8c351dd1f] +description = "invalid with punctuations" +reimplements = "4bd97d90-52fd-45d3-b0db-06ab95b1244e" [d77d07f8-873c-4b17-8978-5f66139bf7d7] description = "invalid if area code starts with 0" From a0af6963cf662ba34652b808f45453dff3478dcf Mon Sep 17 00:00:00 2001 From: tanno1 Date: Sun, 5 May 2024 17:01:07 -0700 Subject: [PATCH 2/5] updated test.cpp cases to reflect the problem specs --- exercises/practice/phone-number/phone_number_test.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/exercises/practice/phone-number/phone_number_test.cpp b/exercises/practice/phone-number/phone_number_test.cpp index 04d04209..846850a3 100644 --- a/exercises/practice/phone-number/phone_number_test.cpp +++ b/exercises/practice/phone-number/phone_number_test.cpp @@ -17,19 +17,10 @@ TEST_CASE("cleans_numbers_with_dots") { REQUIRE("2234567890" == phone_number::phone_number("223.456.7890").number()); } -TEST_CASE("cleans_numbers_with_spaces") { +TEST_CASE("cleans_numbers_with_multiple_spaces") { REQUIRE("2234567890" == phone_number::phone_number("223 456 7890 ").number()); } -TEST_CASE("has_an_area_code") { - REQUIRE("223" == phone_number::phone_number("+1 (223) 456-7890").area_code()); -} - -TEST_CASE("formats_a_number") { - const phone_number::phone_number phone("+1 (223) 456-7890"); - REQUIRE("(223) 456-7890" == std::string(phone)); -} - TEST_CASE("invalid_when_9_digits") { REQUIRE_THROWS_AS(phone_number::phone_number("123456789"), std::domain_error); } From ac56490d52536063702f7e6e3e1161452c27f25b Mon Sep 17 00:00:00 2001 From: tanno1 Date: Sun, 12 May 2024 18:45:02 -0700 Subject: [PATCH 3/5] added UUID's --- .../phone-number/phone_number_test.cpp | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/exercises/practice/phone-number/phone_number_test.cpp b/exercises/practice/phone-number/phone_number_test.cpp index 846850a3..22e9007d 100644 --- a/exercises/practice/phone-number/phone_number_test.cpp +++ b/exercises/practice/phone-number/phone_number_test.cpp @@ -7,82 +7,82 @@ #endif #include -TEST_CASE("cleans_the_number") { +TEST_CASE("cleans_the_number", "[79666dce-e0f1-46de-95a1-563802913c35]") { REQUIRE("2234567890" == phone_number::phone_number("(223) 456-7890").number()); } #if defined(EXERCISM_RUN_ALL_TESTS) -TEST_CASE("cleans_numbers_with_dots") { +TEST_CASE("cleans_numbers_with_dots", "[c360451f-549f-43e4-8aba-fdf6cb0bf83f]") { REQUIRE("2234567890" == phone_number::phone_number("223.456.7890").number()); } -TEST_CASE("cleans_numbers_with_multiple_spaces") { +TEST_CASE("cleans_numbers_with_multiple_spaces", "[08f94c34-9a37-46a2-a123-2a8e9727395d]") { REQUIRE("2234567890" == phone_number::phone_number("223 456 7890 ").number()); } -TEST_CASE("invalid_when_9_digits") { +TEST_CASE("invalid_when_9_digits", "[2de74156-f646-42b5-8638-0ef1d8b58bc2]") { REQUIRE_THROWS_AS(phone_number::phone_number("123456789"), std::domain_error); } -TEST_CASE("invalid_when_11_digits_does_not_start_with_a_1") { +TEST_CASE("invalid_when_11_digits_does_not_start_with_a_1", "[57061c72-07b5-431f-9766-d97da7c4399d]") { REQUIRE_THROWS_AS(phone_number::phone_number("22234567890"), std::domain_error); } -TEST_CASE("valid_when_11_digits_and_starting_with_1") { +TEST_CASE("valid_when_11_digits_and_starting_with_1", "[9962cbf3-97bb-4118-ba9b-38ff49c64430]") { REQUIRE("2234567890" == phone_number::phone_number("12234567890").number()); } TEST_CASE( - "valid_when_11_digits_and_starting_with_1_even_with_punctuation") { + "valid_when_11_digits_and_starting_with_1_even_with_punctuation", "[fa724fbf-054c-4d91-95da-f65ab5b6dbca]") { REQUIRE("2234567890" == phone_number::phone_number("+1 (223) 456-7890").number()); } -TEST_CASE("invalid_when_more_than_11_digits") { +TEST_CASE("invalid_when_more_than_11_digits", "[4a1509b7-8953-4eec-981b-c483358ff531]") { REQUIRE_THROWS_AS(phone_number::phone_number("321234567890"), std::domain_error); } -TEST_CASE("invalid_with_letters") { +TEST_CASE("invalid_with_letters", "[eb8a1fc0-64e5-46d3-b0c6-33184208e28a]") { REQUIRE_THROWS_AS(phone_number::phone_number("123-abc-7890"), std::domain_error); } -TEST_CASE("invalid_with_punctuation") { +TEST_CASE("invalid_with_punctuation", "[065f6363-8394-4759-b080-e6c8c351dd1f]") { REQUIRE_THROWS_AS(phone_number::phone_number("123-@:!-7890"), std::domain_error); } -TEST_CASE("invalid_if_area_code_starts_with_0") { +TEST_CASE("invalid_if_area_code_starts_with_0", "[d77d07f8-873c-4b17-8978-5f66139bf7d7]") { REQUIRE_THROWS_AS(phone_number::phone_number("(023) 456-7890"), std::domain_error); } -TEST_CASE("invalid_if_area_code_starts_with_1") { +TEST_CASE("invalid_if_area_code_starts_with_1", "[c7485cfb-1e7b-4081-8e96-8cdb3b77f15e]") { REQUIRE_THROWS_AS(phone_number::phone_number("(123) 456-7890"), std::domain_error); } -TEST_CASE("invalid_if_exchange_code_starts_with_0") { +TEST_CASE("invalid_if_exchange_code_starts_with_0", "[4d622293-6976-413d-b8bf-dd8a94d4e2ac]") { REQUIRE_THROWS_AS(phone_number::phone_number("(223) 056-7890"), std::domain_error); } -TEST_CASE("invalid_if_exchange_code_starts_with_1") { +TEST_CASE("invalid_if_exchange_code_starts_with_1", "[4cef57b4-7d8e-43aa-8328-1e1b89001262]") { REQUIRE_THROWS_AS(phone_number::phone_number("(223) 156-7890"), std::domain_error); } TEST_CASE( - "invalid_if_area_code_starts_with_0_on_valid_11_digit_number") { + "invalid_if_area_code_starts_with_0_on_valid_11_digit_number", "[9925b09c-1a0d-4960-a197-5d163cbe308c]") { REQUIRE_THROWS_AS(phone_number::phone_number("1 (023) 456-7890"), std::domain_error); } TEST_CASE( - "invalid_if_area_code_starts_with_1_on_valid_11_digit_number") { + "invalid_if_area_code_starts_with_1_on_valid_11_digit_number", "[3f809d37-40f3-44b5-ad90-535838b1a816]") { REQUIRE_THROWS_AS(phone_number::phone_number("1 (123) 456-7890"), std::domain_error); } TEST_CASE( - "invalid_if_exchange_code_starts_with_0_on_valid_11_digit_number") { + "invalid_if_exchange_code_starts_with_0_on_valid_11_digit_number", "[e08e5532-d621-40d4-b0cc-96c159276b65]") { REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 056-7890"), std::domain_error); } TEST_CASE( - "invalid_if_exchange_code_starts_with_1_on_valid_11_digit_number") { + "invalid_if_exchange_code_starts_with_1_on_valid_11_digit_number", "[57b32f3d-696a-455c-8bf1-137b6d171cdf]") { REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 156-7890"), std::domain_error); } From b6e4ed8d16f4ceeab052cf4c2cb946383156f6e9 Mon Sep 17 00:00:00 2001 From: tanno1 Date: Tue, 14 May 2024 09:57:15 -0700 Subject: [PATCH 4/5] updated clang formatting to match style guide --- exercises/practice/phone-number/phone_number_test.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/exercises/practice/phone-number/phone_number_test.cpp b/exercises/practice/phone-number/phone_number_test.cpp index 22e9007d..268b3a88 100644 --- a/exercises/practice/phone-number/phone_number_test.cpp +++ b/exercises/practice/phone-number/phone_number_test.cpp @@ -1,14 +1,12 @@ #include "phone_number.h" - #ifdef EXERCISM_TEST_SUITE #include #else #include "test/catch.hpp" #endif -#include TEST_CASE("cleans_the_number", "[79666dce-e0f1-46de-95a1-563802913c35]") { - REQUIRE("2234567890" == phone_number::phone_number("(223) 456-7890").number()); + REQUIRE("2234567890" == phone_number::phone_number("(223) 456-7890").number()); } #if defined(EXERCISM_RUN_ALL_TESTS) From d5a3d366826790b742d69d2e841f76613296fdb1 Mon Sep 17 00:00:00 2001 From: tanno1 Date: Tue, 14 May 2024 14:48:43 -0700 Subject: [PATCH 5/5] updated formatting again --- .../phone-number/phone_number_test.cpp | 68 ++++++++++--------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/exercises/practice/phone-number/phone_number_test.cpp b/exercises/practice/phone-number/phone_number_test.cpp index 2d19a429..2757bb22 100644 --- a/exercises/practice/phone-number/phone_number_test.cpp +++ b/exercises/practice/phone-number/phone_number_test.cpp @@ -6,107 +6,109 @@ #endif TEST_CASE("cleans_the_number", "[79666dce-e0f1-46de-95a1-563802913c35]") { - REQUIRE("2234567890" == - phone_number::phone_number("(223) 456-7890").number()); + REQUIRE("2234567890" == + phone_number::phone_number("(223) 456-7890").number()); } #if defined(EXERCISM_RUN_ALL_TESTS) TEST_CASE("cleans_numbers_with_dots", "[c360451f-549f-43e4-8aba-fdf6cb0bf83f]") { - REQUIRE("2234567890" == phone_number::phone_number("223.456.7890").number()); + REQUIRE("2234567890" == + phone_number::phone_number("223.456.7890").number()); } TEST_CASE("cleans_numbers_with_multiple_spaces", "[08f94c34-9a37-46a2-a123-2a8e9727395d]") { - REQUIRE("2234567890" == - phone_number::phone_number("223 456 7890 ").number()); + REQUIRE("2234567890" == + phone_number::phone_number("223 456 7890 ").number()); } TEST_CASE("invalid_when_9_digits", "[2de74156-f646-42b5-8638-0ef1d8b58bc2]") { - REQUIRE_THROWS_AS(phone_number::phone_number("123456789"), std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("123456789"), + std::domain_error); } TEST_CASE("invalid_when_11_digits_does_not_start_with_a_1", "[57061c72-07b5-431f-9766-d97da7c4399d]") { - REQUIRE_THROWS_AS(phone_number::phone_number("22234567890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("22234567890"), + std::domain_error); } TEST_CASE("valid_when_11_digits_and_starting_with_1", "[9962cbf3-97bb-4118-ba9b-38ff49c64430]") { - REQUIRE("2234567890" == phone_number::phone_number("12234567890").number()); + REQUIRE("2234567890" == phone_number::phone_number("12234567890").number()); } TEST_CASE("valid_when_11_digits_and_starting_with_1_even_with_punctuation", "[fa724fbf-054c-4d91-95da-f65ab5b6dbca]") { - REQUIRE("2234567890" == - phone_number::phone_number("+1 (223) 456-7890").number()); + REQUIRE("2234567890" == + phone_number::phone_number("+1 (223) 456-7890").number()); } TEST_CASE("invalid_when_more_than_11_digits", "[4a1509b7-8953-4eec-981b-c483358ff531]") { - REQUIRE_THROWS_AS(phone_number::phone_number("321234567890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("321234567890"), + std::domain_error); } TEST_CASE("invalid_with_letters", "[eb8a1fc0-64e5-46d3-b0c6-33184208e28a]") { - REQUIRE_THROWS_AS(phone_number::phone_number("123-abc-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("123-abc-7890"), + std::domain_error); } TEST_CASE("invalid_with_punctuation", "[065f6363-8394-4759-b080-e6c8c351dd1f]") { - REQUIRE_THROWS_AS(phone_number::phone_number("123-@:!-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("123-@:!-7890"), + std::domain_error); } TEST_CASE("invalid_if_area_code_starts_with_0", "[d77d07f8-873c-4b17-8978-5f66139bf7d7]") { - REQUIRE_THROWS_AS(phone_number::phone_number("(023) 456-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("(023) 456-7890"), + std::domain_error); } TEST_CASE("invalid_if_area_code_starts_with_1", "[c7485cfb-1e7b-4081-8e96-8cdb3b77f15e]") { - REQUIRE_THROWS_AS(phone_number::phone_number("(123) 456-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("(123) 456-7890"), + std::domain_error); } TEST_CASE("invalid_if_exchange_code_starts_with_0", "[4d622293-6976-413d-b8bf-dd8a94d4e2ac]") { - REQUIRE_THROWS_AS(phone_number::phone_number("(223) 056-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("(223) 056-7890"), + std::domain_error); } TEST_CASE("invalid_if_exchange_code_starts_with_1", "[4cef57b4-7d8e-43aa-8328-1e1b89001262]") { - REQUIRE_THROWS_AS(phone_number::phone_number("(223) 156-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("(223) 156-7890"), + std::domain_error); } TEST_CASE("invalid_if_area_code_starts_with_0_on_valid_11_digit_number", "[9925b09c-1a0d-4960-a197-5d163cbe308c]") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (023) 456-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("1 (023) 456-7890"), + std::domain_error); } TEST_CASE("invalid_if_area_code_starts_with_1_on_valid_11_digit_number", "[3f809d37-40f3-44b5-ad90-535838b1a816]") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (123) 456-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("1 (123) 456-7890"), + std::domain_error); } TEST_CASE("invalid_if_exchange_code_starts_with_0_on_valid_11_digit_number", "[e08e5532-d621-40d4-b0cc-96c159276b65]") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 056-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 056-7890"), + std::domain_error); } TEST_CASE("invalid_if_exchange_code_starts_with_1_on_valid_11_digit_number", "[57b32f3d-696a-455c-8bf1-137b6d171cdf]") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 156-7890"), - std::domain_error); + REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 156-7890"), + std::domain_error); } #endif \ No newline at end of file