From f3682a46a9096d6d25bd7aa635e1ef5079095681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20M=C3=BCller?= Date: Mon, 17 Feb 2025 15:23:05 +0100 Subject: [PATCH] Add TestContext::runPart2 for tests that are only valid for part 2 of a puzzle --- tests/include/aocTests/TestContext.hpp | 2 ++ tests/src/TestContext.cpp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/tests/include/aocTests/TestContext.hpp b/tests/include/aocTests/TestContext.hpp index 9467006..dcdebfd 100644 --- a/tests/include/aocTests/TestContext.hpp +++ b/tests/include/aocTests/TestContext.hpp @@ -26,6 +26,8 @@ class TestContext public: void run(const std::unique_ptr&& solver, const long long int expected1, const long long int expected2, const std::vector& inputPaths); + void runPart2(const std::unique_ptr&& solver, const long long int expected, + const std::vector& inputPaths); std::vector getInputPaths() const; std::vector getExampleInputPaths() const; }; diff --git a/tests/src/TestContext.cpp b/tests/src/TestContext.cpp index 9f71caf..f3697be 100644 --- a/tests/src/TestContext.cpp +++ b/tests/src/TestContext.cpp @@ -29,6 +29,15 @@ void TestContext::run(const std::unique_ptr&& solver, const long long in REQUIRE(expected2 == solver->getResultPart2()); } +void TestContext::runPart2(const std::unique_ptr&& solver, const long long int expected, + const std::vector& inputPaths) +{ + SolverEngine solverEngine{ inputPaths }; + solverEngine.run(*solver); + + REQUIRE(expected == solver->getResultPart2()); +} + std::vector TestContext::getInputPaths() const { return std::vector{ "data", "../../../data", "../../../../data" };