From 2024ba95634840a8e0b6dbd307e65e73911cf797 Mon Sep 17 00:00:00 2001 From: Isaac Good Date: Mon, 24 Mar 2025 12:22:06 -0700 Subject: [PATCH 1/2] Sync tests for exercise/practice/matching_brackets --- .../matching-brackets/.meta/tests.toml | 22 ++++++++++++++++--- .../matching_brackets_test.cpp | 12 ++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/exercises/practice/matching-brackets/.meta/tests.toml b/exercises/practice/matching-brackets/.meta/tests.toml index cc9e471a4..35a98a042 100644 --- a/exercises/practice/matching-brackets/.meta/tests.toml +++ b/exercises/practice/matching-brackets/.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. [81ec11da-38dd-442a-bcf9-3de7754609a5] description = "paired square brackets" @@ -41,12 +48,21 @@ description = "unpaired and nested brackets" [a0205e34-c2ac-49e6-a88a-899508d7d68e] description = "paired and wrong nested brackets" +[1d5c093f-fc84-41fb-8c2a-e052f9581602] +description = "paired and wrong nested brackets but innermost are correct" + [ef47c21b-bcfd-4998-844c-7ad5daad90a8] description = "paired and incomplete brackets" [a4675a40-a8be-4fc2-bc47-2a282ce6edbe] description = "too many closing brackets" +[a345a753-d889-4b7e-99ae-34ac85910d1a] +description = "early unexpected brackets" + +[21f81d61-1608-465a-b850-baa44c5def83] +description = "early mismatched brackets" + [99255f93-261b-4435-a352-02bdecc9bdf2] description = "math expression" diff --git a/exercises/practice/matching-brackets/matching_brackets_test.cpp b/exercises/practice/matching-brackets/matching_brackets_test.cpp index c0b4f715a..a0d76dfeb 100644 --- a/exercises/practice/matching-brackets/matching_brackets_test.cpp +++ b/exercises/practice/matching-brackets/matching_brackets_test.cpp @@ -42,6 +42,18 @@ TEST_CASE("unpaired_nested_brackets") { REQUIRE(!matching_brackets::check("([{])")); } +TEST_CASE("paired_and_wrong_nested_brackets_but_innermost_are_correct") { + REQUIRE(!matching_brackets::check("[({}])")); +} + +TEST_CASE("early_unexpected_brackets") { + REQUIRE(!matching_brackets::check(")()")); +} + +TEST_CASE("early_mismatched_brackets") { + REQUIRE(!matching_brackets::check("{)()")); +} + TEST_CASE("paired_wrong_nested_brackets") { REQUIRE(!matching_brackets::check("[({]})")); } From 387cbc7ba307109c7732d6c3097eb32b69b61d41 Mon Sep 17 00:00:00 2001 From: vaeng <34183939+vaeng@users.noreply.github.com> Date: Tue, 13 May 2025 11:50:51 +0200 Subject: [PATCH 2/2] add uids and missing test cases --- .../matching_brackets_test.cpp | 70 +++++++++++++------ 1 file changed, 50 insertions(+), 20 deletions(-) diff --git a/exercises/practice/matching-brackets/matching_brackets_test.cpp b/exercises/practice/matching-brackets/matching_brackets_test.cpp index a0d76dfeb..7a126078b 100644 --- a/exercises/practice/matching-brackets/matching_brackets_test.cpp +++ b/exercises/practice/matching-brackets/matching_brackets_test.cpp @@ -5,64 +5,94 @@ #include "test/catch.hpp" #endif -TEST_CASE("paired_square_brackets") { REQUIRE(matching_brackets::check("[]")); } +TEST_CASE("paired_square_brackets", "[81ec11da-38dd-442a-bcf9-3de7754609a5]") { + REQUIRE(matching_brackets::check("[]")); +} #if defined(EXERCISM_RUN_ALL_TESTS) -TEST_CASE("empty_string") { REQUIRE(matching_brackets::check("")); } +TEST_CASE("empty_string", "[287f0167-ac60-4b64-8452-a0aa8f4e5238]") { + REQUIRE(matching_brackets::check("")); +} -TEST_CASE("unpaired_brackets") { REQUIRE(!matching_brackets::check("[[")); } +TEST_CASE("unpaired_brackets", "[6c3615a3-df01-4130-a731-8ef5f5d78dac]") { + REQUIRE(!matching_brackets::check("[[")); +} -TEST_CASE("wrong_ordered_brackets") { +TEST_CASE("wrong_ordered_brackets", "[9d414171-9b98-4cac-a4e5-941039a97a77]") { REQUIRE(!matching_brackets::check("}{")); } -TEST_CASE("wrong_closing_bracket") { REQUIRE(!matching_brackets::check("{]")); } +TEST_CASE("wrong_closing_bracket", "[f0f97c94-a149-4736-bc61-f2c5148ffb85]") { + REQUIRE(!matching_brackets::check("{]")); +} -TEST_CASE("paired_with_whitespace") { +TEST_CASE("paired_with_whitespace", "[754468e0-4696-4582-a30e-534d47d69756]") { REQUIRE(matching_brackets::check("{ }")); } -TEST_CASE("simple_nested_brackets") { +TEST_CASE("partially_paired_brackets", + "[ba84f6ee-8164-434a-9c3e-b02c7f8e8545]") { + REQUIRE(!matching_brackets::check("{[])")); +} + +TEST_CASE("simple_nested_brackets", "[3c86c897-5ff3-4a2b-ad9b-47ac3a30651d]") { REQUIRE(matching_brackets::check("{[]}")); } -TEST_CASE("several_paired_brackets") { +TEST_CASE("several_paired_brackets", "[2d137f2c-a19e-4993-9830-83967a2d4726]") { REQUIRE(matching_brackets::check("{}[]")); } -TEST_CASE("paired_nested_brackets") { +TEST_CASE("paired_nested_brackets", "[2e1f7b56-c137-4c92-9781-958638885a44]") { REQUIRE(matching_brackets::check("([{}({}[])])")); } -TEST_CASE("unopened_closing_brackets") { +TEST_CASE("unopened_closing_brackets", + "[84f6233b-e0f7-4077-8966-8085d295c19b]") { REQUIRE(!matching_brackets::check("{[)][]}")); } -TEST_CASE("unpaired_nested_brackets") { +TEST_CASE("unpaired_nested_brackets", + "[9b18c67d-7595-4982-b2c5-4cb949745d49]") { REQUIRE(!matching_brackets::check("([{])")); } -TEST_CASE("paired_and_wrong_nested_brackets_but_innermost_are_correct") { +TEST_CASE("paired_wrong_nested_brackets", + "[a0205e34-c2ac-49e6-a88a-899508d7d68e]") { + REQUIRE(!matching_brackets::check("[({]})")); +} + +TEST_CASE("paired_and_wrong_nested_brackets_but_innermost_are_correct", + "[1d5c093f-fc84-41fb-8c2a-e052f9581602]") { REQUIRE(!matching_brackets::check("[({}])")); } -TEST_CASE("early_unexpected_brackets") { - REQUIRE(!matching_brackets::check(")()")); +TEST_CASE("paired_incomplete_brackets", + "[ef47c21b-bcfd-4998-844c-7ad5daad90a8]") { + REQUIRE(!matching_brackets::check("{}[")); } -TEST_CASE("early_mismatched_brackets") { - REQUIRE(!matching_brackets::check("{)()")); +TEST_CASE("too_many_closing_brackets", + "[a4675a40-a8be-4fc2-bc47-2a282ce6edbe]") { + REQUIRE(!matching_brackets::check("[]]")); } -TEST_CASE("paired_wrong_nested_brackets") { - REQUIRE(!matching_brackets::check("[({]})")); +TEST_CASE("early_unexpected_brackets", + "[a345a753-d889-4b7e-99ae-34ac85910d1a]") { + REQUIRE(!matching_brackets::check(")()")); +} + +TEST_CASE("early_mismatched_brackets", + "[21f81d61-1608-465a-b850-baa44c5def83]") { + REQUIRE(!matching_brackets::check("{)()")); } -TEST_CASE("math_expression") { +TEST_CASE("math_expression", "[99255f93-261b-4435-a352-02bdecc9bdf2]") { REQUIRE(matching_brackets::check("(((185 + 223.85) * 15) - 543)/2")); } -TEST_CASE("complex_latex_expression") { +TEST_CASE("complex_latex_expression", + "[8e357d79-f302-469a-8515-2561877256a1]") { REQUIRE(matching_brackets::check( "\\left(\\begin{array}{cc} \\frac{1}{3} & x\\\\ \\mathrm{e}^{x} &... " "x^2 \\end{array}\\right)"));