diff --git a/include/aoc/GardenGroups.hpp b/include/aoc/GardenGroups.hpp index 92fb9f0..03ab587 100644 --- a/include/aoc/GardenGroups.hpp +++ b/include/aoc/GardenGroups.hpp @@ -25,6 +25,7 @@ class GardenGroups : public LinesSolver { public: + GardenGroups(const int inputFileNameSuffix = 0); virtual const std::string getPuzzleName() const override; virtual const int getPuzzleDay() const override; virtual void finish() override; diff --git a/include/aoc/LinesSolver.hpp b/include/aoc/LinesSolver.hpp index 968a055..21a2f0e 100644 --- a/include/aoc/LinesSolver.hpp +++ b/include/aoc/LinesSolver.hpp @@ -24,6 +24,7 @@ class LinesSolver : public Solver { public: + LinesSolver(const int inputFileNameSuffix = 0); virtual void processDataLine(const std::string& line) override; protected: std::vector lines{}; diff --git a/src/GardenGroups.cpp b/src/GardenGroups.cpp index 0d3c793..e2602d3 100644 --- a/src/GardenGroups.cpp +++ b/src/GardenGroups.cpp @@ -15,6 +15,11 @@ #include +GardenGroups::GardenGroups(const int inputFileNameSuffix) + : LinesSolver{ inputFileNameSuffix } +{ +} + const std::string GardenGroups::getPuzzleName() const { return "Garden Groups"; diff --git a/src/LinesSolver.cpp b/src/LinesSolver.cpp index 8ad2139..ee42de4 100644 --- a/src/LinesSolver.cpp +++ b/src/LinesSolver.cpp @@ -15,6 +15,11 @@ #include +LinesSolver::LinesSolver(const int inputFileNameSuffix) + : Solver{ inputFileNameSuffix } +{ +} + void LinesSolver::processDataLine(const std::string& line) { lines.push_back(line); diff --git a/tests/src/TestCases.cpp b/tests/src/TestCases.cpp index b63e40a..f91f058 100644 --- a/tests/src/TestCases.cpp +++ b/tests/src/TestCases.cpp @@ -188,6 +188,14 @@ TEST_CASE("[GardenGroupsTests]") { test.run(std::make_unique(), 1930, 0, test.getExampleInputPaths()); } + SECTION("ExampleData2") + { + test.run(std::make_unique(2), 140, 0, test.getExampleInputPaths()); + } + SECTION("ExampleData3") + { + test.run(std::make_unique(3), 772, 0, test.getExampleInputPaths()); + } } TEST_CASE("[LanPartyTests]")