From ff1357f6dee32f8440c2226d537049cdf559e361 Mon Sep 17 00:00:00 2001 From: Marko Date: Mon, 15 Jul 2019 22:18:27 +0300 Subject: [PATCH] Anagram - update tests to specification version 1.5.0 Adds two test cases for differently cased words. --- exercises/anagram/anagram_test.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/exercises/anagram/anagram_test.cpp b/exercises/anagram/anagram_test.cpp index 454f1139..1503dd0e 100644 --- a/exercises/anagram/anagram_test.cpp +++ b/exercises/anagram/anagram_test.cpp @@ -3,7 +3,7 @@ using namespace std; -// Anagram exercise test case data version 1.4.0 +// Anagram exercise test case data version 1.5.0 TEST_CASE("no_matches") { @@ -59,6 +59,15 @@ TEST_CASE("detects_three_anagrams") REQUIRE(expected == matches); } +TEST_CASE("detects_multiple_anagrams_with_different_case") +{ + auto subject = anagram::anagram("nose"); + auto matches = subject.matches({"Eons", "ONES"}); + vector expected{"Eons", "ONES"}; + + REQUIRE(expected == matches); +} + TEST_CASE("does_not_detect_non_anagrams_with_identical_checksum") { auto subject = anagram::anagram("mass"); @@ -121,4 +130,13 @@ TEST_CASE("words_are_not_anagrams_of_themselves_case_insensitive") REQUIRE(expected == matches); } + +TEST_CASE("words_other_than_themselves_can_be_anagrams") +{ + auto subject = anagram::anagram("LISTEN"); + auto matches = subject.matches({"Listen", "Silent", "LISTEN"}); + vector expected{"Silent"}; + + REQUIRE(expected == matches); +} #endif