From 55028f8aa0956c82d589ffe02c2bcfd01252e6bc Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Sat, 14 Sep 2024 01:26:07 -0300 Subject: [PATCH] =?UTF-8?q?[Hacker=20Rank]:=20Warmup:=20Solve=20Me=20Firs.?= =?UTF-8?q?=20Solved=20=E2=9C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/exercises/include/exercises/foo.hpp | 7 ----- .../hackerrank/warmup/solve_me_first.hpp | 7 +++++ src/lib/exercises/src/foo.cpp | 3 --- .../src/hackerrank/warmup/solve_me_first.cpp | 5 ++++ src/tests/unit/lib/foo.test.cpp | 10 ------- .../hackerrank/warmup/solve_me_first.test.cpp | 26 +++++++++++++++++++ .../warmup/solve_me_first.testcases.json | 7 +++++ 7 files changed, 45 insertions(+), 20 deletions(-) delete mode 100644 src/lib/exercises/include/exercises/foo.hpp create mode 100644 src/lib/exercises/include/exercises/hackerrank/warmup/solve_me_first.hpp delete mode 100644 src/lib/exercises/src/foo.cpp create mode 100644 src/lib/exercises/src/hackerrank/warmup/solve_me_first.cpp delete mode 100644 src/tests/unit/lib/foo.test.cpp create mode 100644 src/tests/unit/lib/hackerrank/warmup/solve_me_first.test.cpp create mode 100644 src/tests/unit/lib/hackerrank/warmup/solve_me_first.testcases.json diff --git a/src/lib/exercises/include/exercises/foo.hpp b/src/lib/exercises/include/exercises/foo.hpp deleted file mode 100644 index c7c8017..0000000 --- a/src/lib/exercises/include/exercises/foo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#include - -namespace foo { -uint64_t add(uint64_t a, uint64_t b); -}; diff --git a/src/lib/exercises/include/exercises/hackerrank/warmup/solve_me_first.hpp b/src/lib/exercises/include/exercises/hackerrank/warmup/solve_me_first.hpp new file mode 100644 index 0000000..7fed998 --- /dev/null +++ b/src/lib/exercises/include/exercises/hackerrank/warmup/solve_me_first.hpp @@ -0,0 +1,7 @@ +#pragma once + +#include + +namespace hackerrank::warmup { +int solveMeFirst(int a, int b); +}; diff --git a/src/lib/exercises/src/foo.cpp b/src/lib/exercises/src/foo.cpp deleted file mode 100644 index 9c20f4c..0000000 --- a/src/lib/exercises/src/foo.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include - -uint64_t foo::add(uint64_t a, uint64_t b) { return a + b; } diff --git a/src/lib/exercises/src/hackerrank/warmup/solve_me_first.cpp b/src/lib/exercises/src/hackerrank/warmup/solve_me_first.cpp new file mode 100644 index 0000000..ec19fdc --- /dev/null +++ b/src/lib/exercises/src/hackerrank/warmup/solve_me_first.cpp @@ -0,0 +1,5 @@ +#include + +namespace hackerrank::warmup { +int solveMeFirst(int a, int b) { return a + b; } +} // namespace hackerrank::warmup diff --git a/src/tests/unit/lib/foo.test.cpp b/src/tests/unit/lib/foo.test.cpp deleted file mode 100644 index 16807b8..0000000 --- a/src/tests/unit/lib/foo.test.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include - -#include - -TEST_CASE("adding numbers work", "[foo]") { - CHECK(foo::add(0, 0) == 0); - CHECK(foo::add(0, 7) == 7); - CHECK(foo::add(7, 0) == 7); - CHECK(foo::add(7, 7) == 14); -} diff --git a/src/tests/unit/lib/hackerrank/warmup/solve_me_first.test.cpp b/src/tests/unit/lib/hackerrank/warmup/solve_me_first.test.cpp new file mode 100644 index 0000000..1d1af4b --- /dev/null +++ b/src/tests/unit/lib/hackerrank/warmup/solve_me_first.test.cpp @@ -0,0 +1,26 @@ +#include + +#include +#include +#include +#include +#include + +using json = nlohmann::json; + +TEST_CASE("solveMeFirst", "[warmup]") { + std::filesystem::path cwd = std::filesystem::current_path(); + std::string path = + cwd.string() + + "/unit/lib/hackerrank/warmup/solve_me_first.testcases.json"; + + INFO("solveMeFirst JSON test cases FILE: " << path); + + std::ifstream f(path); + json data = json::parse(f); + + for (auto testcase : data) { + int result = hackerrank::warmup::solveMeFirst(testcase["a"], testcase["b"]); + CHECK(result == testcase["expected"]); + } +} diff --git a/src/tests/unit/lib/hackerrank/warmup/solve_me_first.testcases.json b/src/tests/unit/lib/hackerrank/warmup/solve_me_first.testcases.json new file mode 100644 index 0000000..53bf54a --- /dev/null +++ b/src/tests/unit/lib/hackerrank/warmup/solve_me_first.testcases.json @@ -0,0 +1,7 @@ +[ + { "a": 0, "b": 0, "expected": 0 }, + { "a": 2, "b": 3, "expected": 5 }, + { "a": 0, "b": 7, "expected": 7 }, + { "a": 7, "b": 0, "expected": 7 }, + { "a": 7, "b": 7, "expected": 14 } +]