3#ifndef TRAM_SDK_TEMPLATES_TEST_H
4#define TRAM_SDK_TEMPLATES_TEST_H
30static int _test_case_count = 0;
33#define ASSERT(X) if (!(X)) { printf("Assert %s fail on line %i\n", #X, __LINE__); _last_test_case->fail(); } else { _last_test_case->succ(); }
41#define TEST_CASE(X, Y) \
42 _last_test_case = &_all_test_cases[_test_case_count]; \
45 _last_test_case->fullname = X; \
46 _last_test_case->abbrv = Y;
50 int main(int argc, char** argv) {
55printf("\nRESULTS:\n");\
57 for (int i = 0; i < _test_case_count; i++) {\
58 auto c = &_all_test_cases[i];\
60 if (c->fail_asserts > 0) {\
64 int p = c->totl_asserts - c->fail_asserts;\
65 int t = c->totl_asserts;\
67 printf("Test %s %s (%i/%i)\n", c->fullname, c->abbrv, p, t);\
70 return fail ? -1 : 0;\
const char * fullname
Definition: test.h:13
void succ()
Definition: test.h:24
const char * abbrv
Definition: test.h:14
void fail()
Definition: test.h:19
int totl_asserts
Definition: test.h:16
int fail_asserts
Definition: test.h:17