#pragma once #include "TestCaseRunner.h" struct Holder { Holder(const String& name, const 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(!bool(predicate)) \ { \ const auto msg = String::to_string(__LINE__) + String(" with check: '") + String(#predicate) + String("'"); \ TestCaseRunner::getInstance().markTestFailure(msg); \ } \