#pragma once #include "TestCaseRunner.h" struct Holder { Holder(const std::string& name, const std::string& tags, std::function func) { TestCaseRunner::getInstance().addTestCase(name, tags, func); } }; #define TEST_CASE(NAME, TAGS) \ static void Test##NAME(); \ namespace{Holder holder##NAME( #NAME, #TAGS, &Test##NAME );} \ static void Test##NAME() \ #define REQUIRE(predicate) \ if(!predicate) \ { \ TestCaseRunner::getInstance().markTestFailure(std::to_string(__LINE__)); \ return; \ } \