00001 #ifndef TEST_DEFINES__H
00002 #define TEST_DEFINES__H
00003
00004 #include <assert.h>
00005 #include <stdio.h>
00006 #include <string.h>
00007 #include <wchar.h>
00008
00009 #define TEST_ASSERT(expr, msg) {printf("%s%s\n", msg,(expr)?":\t\t\tOK...":":\t\t\tNOK!!!"); assert(expr);}
00010
00011 #define TEST_ASSERT_STRINGS_EQUAL(str1,str2,msg) TEST_ASSERT((0==strcmp(str1,str2)?1:0),msg)
00012 #define TEST_ASSERT_STRINGS_NOT_EQUAL(str1,str2,msg) TEST_ASSERT((0!=strcmp(str1,str2)?1:0),msg)
00013
00014 #define TEST_ASSERT_WSTRINGS_EQUAL(str1,str2,msg) TEST_ASSERT((0==wcscmp(str1,str2)?1:0),msg)
00015 #define TEST_ASSERT_WSTRINGS_NOT_EQUAL(str1,str2,msg) TEST_ASSERT((0!=wcscmp(str1,str2)?1:0),msg)
00016
00017 typedef struct _test_s
00018 {
00019 _test_s(const char *n, void(*f)(void)):name(n),test_fun(f){};
00020 const char *name;
00021 void (*test_fun)(void);
00022 }test_t;
00023
00024 #define EMPTY_TEST {NULL, NULL}
00025 #define EOF_TEST_ARRAY EMPTY_TEST
00026
00027 typedef struct _test_suite_s
00028 {
00029 _test_suite_s(const char *n, test_t *t):name(n),tests(t){};
00030 const char *name;
00031 test_t *tests;
00032 }test_suite_t;
00033
00034 #define EOF_TEST_SUITE_ARRAY EOF_TEST_ARRAY
00035
00036 typedef struct
00037 {
00038 const char *name;
00039 test_suite_t suites[];
00040 }test_session_t;
00041
00042 #endif