19#ifndef HEDGEHOG_CX_ABSTRACT_TEST_H_
20#define HEDGEHOG_CX_ABSTRACT_TEST_H_
33template<tool::HedgehogDynamicGraphForStaticAnalysis GraphType>
36 std::string testName_{};
37 bool isGraphValid_ =
true;
38 std::string errorMessage_{};
43 constexpr explicit AbstractTest(std::string
const & testName) : testName_(testName) {}
46 constexpr virtual ~AbstractTest() =
default;
50 [[nodiscard]]
constexpr std::string
const &testName()
const {
return testName_; }
54 [[nodiscard]]
constexpr bool isGraphValid()
const {
return isGraphValid_; }
58 [[nodiscard]]
constexpr std::string
const & errorMessage()
const {
return errorMessage_; }
62 constexpr virtual void test(hh_cx::Graph<GraphType>
const * graph) = 0;
67 constexpr void graphValid(
bool isGraphValid) { isGraphValid_ = isGraphValid; }
71 constexpr void appendErrorMessage(std::string
const & message){ this->errorMessage_.append(message); }