From c09e2dde38813019ada0da7e8fc1592a3928e9a6 Mon Sep 17 00:00:00 2001 From: Viacheslav Konstantinov Date: Wed, 14 Nov 2018 17:52:26 +0200 Subject: [PATCH 1/5] First practice (Bob) --- tdd_intro/demo/01_bob/test.cpp | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tdd_intro/demo/01_bob/test.cpp b/tdd_intro/demo/01_bob/test.cpp index dc9e42f..5840552 100644 --- a/tdd_intro/demo/01_bob/test.cpp +++ b/tdd_intro/demo/01_bob/test.cpp @@ -10,3 +10,45 @@ He answers 'Whatever.' to anything else. #include #include +const std::string g_tellBobAnswer = "Sure"; +const std::string g_yellBobAnswer = "Whoa, chill out!"; +const std::string g_emptyBobAnswer = "Fine. Be that way!"; +const std::string g_defaultBobAnswer = "Whatever."; + +std::string CallBob(const std::string& str) +{ + if (str.empty()) + { + return g_emptyBobAnswer; + } + if (str.back() == '!') + { + return g_yellBobAnswer; + } + else if (str.back() == '?') + { + return g_tellBobAnswer; + } + + return g_defaultBobAnswer; +} + +TEST(bob, AnswerSureOnQuestion) +{ + ASSERT_EQ(g_tellBobAnswer, CallBob("Are you ok?")); +} + +TEST(bob, AnswerChillOnYell) +{ + ASSERT_EQ(g_yellBobAnswer, CallBob("Yell!!!!")); +} + +TEST(bob, AnswerOnEmptyString) +{ + ASSERT_EQ(g_emptyBobAnswer, CallBob("")); +} + +TEST(bob, AnswerOnAnythingElse) +{ + ASSERT_EQ(g_defaultBobAnswer, CallBob("Anything else")); +} From 1d7fe3c190120c116f66fd7a95bf9fcf7abfd5b3 Mon Sep 17 00:00:00 2001 From: Viacheslav Konstantinov Date: Mon, 19 Nov 2018 19:05:51 +0200 Subject: [PATCH 2/5] Added 00_intro to the project --- tdd_intro/homework/homework.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/tdd_intro/homework/homework.pro b/tdd_intro/homework/homework.pro index cf6c01b..07506ca 100644 --- a/tdd_intro/homework/homework.pro +++ b/tdd_intro/homework/homework.pro @@ -1,6 +1,7 @@ TEMPLATE = subdirs SUBDIRS += \ + 00_intro \ 01_leap_year \ 02_ternary_numbers \ 03_bank_ocr \ From e54945c49eceffdbe4b559f2c5db278436579193 Mon Sep 17 00:00:00 2001 From: Viacheslav Konstantinov Date: Mon, 19 Nov 2018 19:10:48 +0200 Subject: [PATCH 3/5] First red test --- tdd_intro/homework/00_intro/test.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tdd_intro/homework/00_intro/test.cpp b/tdd_intro/homework/00_intro/test.cpp index be6959b..bf168d5 100644 --- a/tdd_intro/homework/00_intro/test.cpp +++ b/tdd_intro/homework/00_intro/test.cpp @@ -7,3 +7,13 @@ For example: input: "cool" output: "looc" */ #include + +std::string ReverseString(const std::string& str) +{ + return ""; +} + +TEST(intro, StringIsReversed) +{ + ASSERT_EQ("desreveR", ReverseString("Reversed")); +} From 3107554b88d3c594226b136f68e49e0375d76b72 Mon Sep 17 00:00:00 2001 From: Viacheslav Konstantinov Date: Mon, 19 Nov 2018 19:11:42 +0200 Subject: [PATCH 4/5] First green test --- tdd_intro/homework/00_intro/test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tdd_intro/homework/00_intro/test.cpp b/tdd_intro/homework/00_intro/test.cpp index bf168d5..e0b4e3f 100644 --- a/tdd_intro/homework/00_intro/test.cpp +++ b/tdd_intro/homework/00_intro/test.cpp @@ -10,7 +10,7 @@ For example: input: "cool" output: "looc" std::string ReverseString(const std::string& str) { - return ""; + return "desreveR"; } TEST(intro, StringIsReversed) From 851788a5c7a10d1cae9b1731fdac866d2ff97c01 Mon Sep 17 00:00:00 2001 From: Viacheslav Konstantinov Date: Mon, 19 Nov 2018 19:16:37 +0200 Subject: [PATCH 5/5] First refactoring --- tdd_intro/homework/00_intro/test.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tdd_intro/homework/00_intro/test.cpp b/tdd_intro/homework/00_intro/test.cpp index e0b4e3f..bfbaaab 100644 --- a/tdd_intro/homework/00_intro/test.cpp +++ b/tdd_intro/homework/00_intro/test.cpp @@ -8,12 +8,18 @@ For example: input: "cool" output: "looc" #include +const std::string g_textToReverse = "Reversed"; +const std::string g_textReversed = "desreveR"; + std::string ReverseString(const std::string& str) { - return "desreveR"; + std::string reversedStr(str); + std::reverse(reversedStr.begin(), reversedStr.end()); + + return reversedStr; } TEST(intro, StringIsReversed) { - ASSERT_EQ("desreveR", ReverseString("Reversed")); + ASSERT_EQ(g_textReversed, ReverseString(g_textToReverse)); }