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" diff --git a/exercises/practice/phone-number/phone_number_test.cpp b/exercises/practice/phone-number/phone_number_test.cpp index 04d04209..2757bb22 100644 --- a/exercises/practice/phone-number/phone_number_test.cpp +++ b/exercises/practice/phone-number/phone_number_test.cpp @@ -1,98 +1,114 @@ #include "phone_number.h" - #ifdef EXERCISM_TEST_SUITE #include #else #include "test/catch.hpp" #endif -#include -TEST_CASE("cleans_the_number") { - REQUIRE("2234567890" == phone_number::phone_number("(223) 456-7890").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") { - REQUIRE("2234567890" == phone_number::phone_number("223.456.7890").number()); -} - -TEST_CASE("cleans_numbers_with_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("cleans_numbers_with_dots", + "[c360451f-549f-43e4-8aba-fdf6cb0bf83f]") { + REQUIRE("2234567890" == + phone_number::phone_number("223.456.7890").number()); } -TEST_CASE("formats_a_number") { - const phone_number::phone_number phone("+1 (223) 456-7890"); - REQUIRE("(223) 456-7890" == std::string(phone)); +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") { - REQUIRE_THROWS_AS(phone_number::phone_number("123456789"), std::domain_error); +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") { - REQUIRE_THROWS_AS(phone_number::phone_number("22234567890"), 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); } -TEST_CASE("valid_when_11_digits_and_starting_with_1") { - REQUIRE("2234567890" == phone_number::phone_number("12234567890").number()); +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") { - REQUIRE("2234567890" == phone_number::phone_number("+1 (223) 456-7890").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()); } -TEST_CASE("invalid_when_more_than_11_digits") { - REQUIRE_THROWS_AS(phone_number::phone_number("321234567890"), std::domain_error); +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") { - REQUIRE_THROWS_AS(phone_number::phone_number("123-abc-7890"), 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); } -TEST_CASE("invalid_with_punctuation") { - REQUIRE_THROWS_AS(phone_number::phone_number("123-@:!-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); } -TEST_CASE("invalid_if_area_code_starts_with_0") { - REQUIRE_THROWS_AS(phone_number::phone_number("(023) 456-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); } -TEST_CASE("invalid_if_area_code_starts_with_1") { - REQUIRE_THROWS_AS(phone_number::phone_number("(123) 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); } -TEST_CASE("invalid_if_exchange_code_starts_with_0") { - REQUIRE_THROWS_AS(phone_number::phone_number("(223) 056-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); } -TEST_CASE("invalid_if_exchange_code_starts_with_1") { - REQUIRE_THROWS_AS(phone_number::phone_number("(223) 156-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); } -TEST_CASE( - "invalid_if_area_code_starts_with_0_on_valid_11_digit_number") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (023) 456-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); } -TEST_CASE( - "invalid_if_area_code_starts_with_1_on_valid_11_digit_number") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (123) 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); } -TEST_CASE( - "invalid_if_exchange_code_starts_with_0_on_valid_11_digit_number") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 056-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); } -TEST_CASE( - "invalid_if_exchange_code_starts_with_1_on_valid_11_digit_number") { - REQUIRE_THROWS_AS(phone_number::phone_number("1 (223) 156-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); } #endif \ No newline at end of file