diff --git a/config.json b/config.json index 20ed5a81..169e5d48 100644 --- a/config.json +++ b/config.json @@ -1129,7 +1129,7 @@ "uuid": "2badf89b-efc4-46f1-af8d-b7d2440e61c0", "practices": [], "prerequisites": [], - "difficulty": 5 + "difficulty": 7 }, { "slug": "list-ops", diff --git a/exercises/practice/zebra-puzzle/.meta/example.cpp b/exercises/practice/zebra-puzzle/.meta/example.cpp index 48b3a463..679cdca5 100644 --- a/exercises/practice/zebra-puzzle/.meta/example.cpp +++ b/exercises/practice/zebra-puzzle/.meta/example.cpp @@ -1,3 +1,4 @@ +#include "zebra_puzzle.h" #include #include #include @@ -9,12 +10,6 @@ using namespace std; namespace zebra_puzzle { -typedef struct -{ - string drinksWater; - string ownsZebra; -} Solution; - enum Color { Red, Green, Ivory, Yellow, Blue }; enum Nationality { Englishman, Spaniard, Ukrainian, Norwegian, Japanese }; enum Pet { Dog, Snails, Fox, Horse, Zebra }; diff --git a/exercises/practice/zebra-puzzle/.meta/example.h b/exercises/practice/zebra-puzzle/.meta/example.h index 131eb693..860456e9 100644 --- a/exercises/practice/zebra-puzzle/.meta/example.h +++ b/exercises/practice/zebra-puzzle/.meta/example.h @@ -6,12 +6,12 @@ namespace zebra_puzzle { -typedef struct +struct Solution { std::string drinksWater; std::string ownsZebra; -} Solution; - +}; + Solution solve(); } // namespace zebra_puzzle diff --git a/exercises/practice/zebra-puzzle/.meta/tests.toml b/exercises/practice/zebra-puzzle/.meta/tests.toml index e637b072..38c82da5 100644 --- a/exercises/practice/zebra-puzzle/.meta/tests.toml +++ b/exercises/practice/zebra-puzzle/.meta/tests.toml @@ -10,5 +10,8 @@ # is regenerated, comments can be added via a `comment` key. [16efb4e4-8ad7-4d5e-ba96-e5537b66fd42] -description = "solve the zebra puzzle and answer who drinks water and who owns zebra" +description = "resident who drinks water" + +[084d5b8b-24e2-40e6-b008-c800da8cd257] +description = "resident who owns zebra" diff --git a/exercises/practice/zebra-puzzle/zebra_puzzle.cpp b/exercises/practice/zebra-puzzle/zebra_puzzle.cpp index 1c339593..105a8ca9 100644 --- a/exercises/practice/zebra-puzzle/zebra_puzzle.cpp +++ b/exercises/practice/zebra-puzzle/zebra_puzzle.cpp @@ -1,21 +1,7 @@ #include "zebra_puzzle.h" -#include - -using namespace std; - namespace zebra_puzzle { -typedef struct -{ - std::string drinksWater; - std::string ownsZebra; -} Solution; - -Solution solve() -{ - // IMPLEMENT YOUR LOGIC HERE -} } // namespace zebra_puzzle \ No newline at end of file diff --git a/exercises/practice/zebra-puzzle/zebra_puzzle.h b/exercises/practice/zebra-puzzle/zebra_puzzle.h index 9d402d90..d26be2b7 100644 --- a/exercises/practice/zebra-puzzle/zebra_puzzle.h +++ b/exercises/practice/zebra-puzzle/zebra_puzzle.h @@ -1,8 +1,17 @@ #if !defined(ZEBRA_PUZZLE_H) #define ZEBRA_PUZZLE_H +#include + namespace zebra_puzzle { + +struct Solution +{ + std::string drinksWater; + std::string ownsZebra; +}; + } // namespace zebra_puzzle diff --git a/exercises/practice/zebra-puzzle/zebra_puzzle_test.cpp b/exercises/practice/zebra-puzzle/zebra_puzzle_test.cpp index d8f9214b..fe58c51c 100644 --- a/exercises/practice/zebra-puzzle/zebra_puzzle_test.cpp +++ b/exercises/practice/zebra-puzzle/zebra_puzzle_test.cpp @@ -13,10 +13,15 @@ TEST_CASE("drinks_water", "[16efb4e4-8ad7-4d5e-ba96-e5537b66fd42]") { REQUIRE(solution.drinksWater == "Norwegian"); } +} +TEST_CASE("owns_zebra", "[084d5b8b-24e2-40e6-b008-c800da8cd257]") +{ + zebra_puzzle::Solution solution = zebra_puzzle::solve(); + SECTION("Owns zebra") { REQUIRE(solution.ownsZebra == "Japanese"); } - } +