#pragma once #include "TestCase.h" #include #include class GuiApplication; class TestCaseRunner { public: TestCaseRunner(); static TestCaseRunner& getInstance(); ~TestCaseRunner(); GuiApplication* getTestApplication(); void addTestCase(const std::string& label, const std::string& tag, TestCase::TestCaseFunction func); void markTestFailure(const std::string& line); bool run(const std::vector& args); void setTestApplication(GuiApplication* app); private: GuiApplication* mTestApplication{ nullptr }; std::vector mFailingTests; static bool sLastTestFailed; static std::string sFailureLine; std::vector mCases; };