3#define T2_TEST1( TEST_NAME, CATEGORY_NAME, TEST_ID ) \
4 namespace JustMakingSureTheMacroIsCalledOutsideOfAnyMethod \
6 void CONCATTOKEN( s_T2TestingFrameworkTest_, TEST_ID )(); \
7 static Toshi::T2TestingFramework::TestAutoReg CONCATTOKEN( s_T2TestingFrameworkAutoReg_, TEST_ID )( TEST_NAME, CATEGORY_NAME, CONCATTOKEN( s_T2TestingFrameworkTest_, TEST_ID ) ); \
8 void CONCATTOKEN( s_T2TestingFrameworkTest_, TEST_ID )()
10#define T2_TEST( TEST_NAME, CATEGORY_NAME ) T2_TEST1( TEST_NAME, CATEGORY_NAME, __COUNTER__ )
12#define T2_TEST_REQUIRE( STATEMENT ) \
14 volatile TBOOL __bCheckResult = ( STATEMENT ); \
15 g_pTestingFramework->SignalRequirementResult( g_pTestingFramework->GetCurrentTest(), __FILE__, __LINE__, #STATEMENT, !__bCheckResult ); \
88 Category* m_pHeadCategory =
TNULL;
89 Test* m_pCurrentTest =
TNULL;
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
T2TestingFramework * g_pTestingFramework
TINT RunTests(FailCallback_t a_fnFailCallback=TNULL, SuccessCallback_t a_fnSuccessCallback=TNULL)
void SignalRequirementResult(Test *a_pTest, const TCHAR *a_pchFileName, TINT a_iLineNum, const TCHAR *a_pchStatement, TBOOL a_bFailed)
void(*)(Test *a_pTest, Check *a_pCheck) SuccessCallback_t
Category * FindCategory(const TCHAR *a_pchName)
Test * GetCurrentTest() const
Test * RegisterTest(const TCHAR *a_pchTestName, Category *a_pCategory, TestMethod_t a_fnMethod)
void(*)(Test *a_pTest, Check *a_pCheck) FailCallback_t
T2TestingFramework()=default
Category * RegisterCategory(const TCHAR *a_pchName)
~T2TestingFramework()=default
TestAutoReg(const TCHAR *a_pchTestName, const TCHAR *a_pchCategoryName, TestMethod_t a_fnMethod)
const TCHAR * pchStatement
const TCHAR * pchFileName