CCUnit project page CCUnit home page

Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

Making assertions


Declare assert test types

Asserts that a condition is true. If it isn't it longjmp with _ccunit_runTest_env.

Parameters:
TYP test value type
Exceptions:
_ccunit_runTest_env If condition is false.


#define DCL_CCUNIT_ASSERT_TEST_TYPE(TYP)
typedef char *(* ccunit_toString_t )(_ccunit_obj_t)
 DCL_CCUNIT_ASSERT_TEST_TYPE (char)
 DCL_CCUNIT_ASSERT_TEST_TYPE (u_char)
 DCL_CCUNIT_ASSERT_TEST_TYPE (int)
 DCL_CCUNIT_ASSERT_TEST_TYPE (u_int)
 DCL_CCUNIT_ASSERT_TEST_TYPE (short)
 DCL_CCUNIT_ASSERT_TEST_TYPE (u_short)
 DCL_CCUNIT_ASSERT_TEST_TYPE (long)
 DCL_CCUNIT_ASSERT_TEST_TYPE (u_long)
 DCL_CCUNIT_ASSERT_TEST_TYPE (float)
 DCL_CCUNIT_ASSERT_TEST_TYPE (double)
 DCL_CCUNIT_ASSERT_TEST_TYPE (_ccunit_str_t)
 DCL_CCUNIT_ASSERT_TEST_TYPE (_ccunit_ptr_t)
void ccunit_assert_test__ccunit_obj_t (const char *file, unsigned int line, bool cond, const char *condstr, _ccunit_obj_t expect, _ccunit_obj_t acutal, ccunit_toString_t)

Assert Macros

The assert test macros.

#define CCUNIT_ASSERT_TEST(TYP, EXPECT, OP, ACTUAL)
 Asserts that a condition is true.

#define CCUNIT_ASSERT_TEST_INT(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (int, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_UINT(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (u_int, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_LONG(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (long, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_ULONG(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (u_long, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_SHORT(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (short, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_USHORT(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (u_short, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_DOUBLE(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (double, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_FLOAT(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (float, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_PTR(EXPECT, OP, ACTUAL)   CCUNIT_ASSERT_TEST (_ccunit_ptr_t, EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_STR(EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_NSTR(EXPECT, OP, ACTUAL, N)
#define CCUNIT_ASSERT_TEST_CASE_STR(EXPECT, OP, ACTUAL)
#define CCUNIT_ASSERT_TEST_CASE_NSTR(EXPECT, OP, ACTUAL, N)
#define CCUNIT_ASSERT_TEST_OBJ(EXPECT, OP, ACTUAL, TOSTR)

Assert Condition Macros

The assert condition macros.

#define CCUNIT_ASSERT_NULL(ACTUAL)   CCUNIT_ASSERT_TEST_PTR(NULL, ==, ACTUAL)
#define CCUNIT_ASSERT_NOT_NULL(ACTUAL)   CCUNIT_ASSERT_TEST_PTR(NULL, !=, ACTUAL)
#define CCUNIT_ASSERT_EQ_INT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_INT (EXPECT, ==, ACTUAL)
#define CCUNIT_ASSERT_NE_INT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_INT (EXPECT, !=, ACTUAL)
#define CCUNIT_ASSERT_LT_INT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_INT (EXPECT, <, ACTUAL)
#define CCUNIT_ASSERT_LE_INT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_INT (EXPECT, <=, ACTUAL)
#define CCUNIT_ASSERT_GT_INT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_INT (EXPECT, >, ACTUAL)
#define CCUNIT_ASSERT_GE_INT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_INT (EXPECT, >=, ACTUAL)
#define CCUNIT_ASSERT_EQ_UINT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_UINT (EXPECT, ==, ACTUAL)
#define CCUNIT_ASSERT_NE_UINT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_UINT (EXPECT, !=, ACTUAL)
#define CCUNIT_ASSERT_LT_UINT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_UINT (EXPECT, <, ACTUAL)
#define CCUNIT_ASSERT_LE_UINT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_UINT (EXPECT, <=, ACTUAL)
#define CCUNIT_ASSERT_GT_UINT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_UINT (EXPECT, >, ACTUAL)
#define CCUNIT_ASSERT_GE_UINT(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_UINT (EXPECT, >=, ACTUAL)
#define CCUNIT_ASSERT_EQ_STR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_STR (EXPECT, ==, ACTUAL)
#define CCUNIT_ASSERT_NE_STR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_STR (EXPECT, !=, ACTUAL)
#define CCUNIT_ASSERT_LT_STR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_STR (EXPECT, <, ACTUAL)
#define CCUNIT_ASSERT_LE_STR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_STR (EXPECT, <=, ACTUAL)
#define CCUNIT_ASSERT_GT_STR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_STR (EXPECT, >, ACTUAL)
#define CCUNIT_ASSERT_GE_STR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_STR (EXPECT, >=, ACTUAL)
#define CCUNIT_ASSERT_EQ_PTR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_PTR (EXPECT, ==, ACTUAL)
#define CCUNIT_ASSERT_NE_PTR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_PTR (EXPECT, !=, ACTUAL)
#define CCUNIT_ASSERT_LT_PTR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_PTR (EXPECT, <, ACTUAL)
#define CCUNIT_ASSERT_LE_PTR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_PTR (EXPECT, <=, ACTUAL)
#define CCUNIT_ASSERT_GT_PTR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_PTR (EXPECT, >, ACTUAL)
#define CCUNIT_ASSERT_GE_PTR(EXPECT, ACTUAL)   CCUNIT_ASSERT_TEST_PTR (EXPECT, >=, ACTUAL)

Defines

#define CCUNIT_ASSERT(COND)   ccunit_assert (__FILE__, __LINE__, COND, #COND)
 Asserts that a condition is true.


Functions

void ccunit_assert (const char *file, unsigned int line, bool condition, const char *condstr)
 Asserts that a condition is true.


Define Documentation

#define CCUNIT_ASSERT (  COND   )     ccunit_assert (__FILE__, __LINE__, COND, #COND)
 

Asserts that a condition is true.

If it isn't it longjmp with _ccunit_runTest_env.

Parameters:
COND assert condition.
Exceptions:
_ccunit_runTest_env If condition is false.

#define CCUNIT_ASSERT_EQ_INT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_INT (EXPECT, ==, ACTUAL)
 

#define CCUNIT_ASSERT_EQ_PTR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_PTR (EXPECT, ==, ACTUAL)
 

#define CCUNIT_ASSERT_EQ_STR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_STR (EXPECT, ==, ACTUAL)
 

#define CCUNIT_ASSERT_EQ_UINT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_UINT (EXPECT, ==, ACTUAL)
 

#define CCUNIT_ASSERT_GE_INT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_INT (EXPECT, >=, ACTUAL)
 

#define CCUNIT_ASSERT_GE_PTR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_PTR (EXPECT, >=, ACTUAL)
 

#define CCUNIT_ASSERT_GE_STR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_STR (EXPECT, >=, ACTUAL)
 

#define CCUNIT_ASSERT_GE_UINT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_UINT (EXPECT, >=, ACTUAL)
 

#define CCUNIT_ASSERT_GT_INT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_INT (EXPECT, >, ACTUAL)
 

#define CCUNIT_ASSERT_GT_PTR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_PTR (EXPECT, >, ACTUAL)
 

#define CCUNIT_ASSERT_GT_STR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_STR (EXPECT, >, ACTUAL)
 

#define CCUNIT_ASSERT_GT_UINT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_UINT (EXPECT, >, ACTUAL)
 

#define CCUNIT_ASSERT_LE_INT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_INT (EXPECT, <=, ACTUAL)
 

#define CCUNIT_ASSERT_LE_PTR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_PTR (EXPECT, <=, ACTUAL)
 

#define CCUNIT_ASSERT_LE_STR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_STR (EXPECT, <=, ACTUAL)
 

#define CCUNIT_ASSERT_LE_UINT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_UINT (EXPECT, <=, ACTUAL)
 

#define CCUNIT_ASSERT_LT_INT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_INT (EXPECT, <, ACTUAL)
 

#define CCUNIT_ASSERT_LT_PTR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_PTR (EXPECT, <, ACTUAL)
 

#define CCUNIT_ASSERT_LT_STR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_STR (EXPECT, <, ACTUAL)
 

#define CCUNIT_ASSERT_LT_UINT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_UINT (EXPECT, <, ACTUAL)
 

#define CCUNIT_ASSERT_NE_INT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_INT (EXPECT, !=, ACTUAL)
 

#define CCUNIT_ASSERT_NE_PTR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_PTR (EXPECT, !=, ACTUAL)
 

#define CCUNIT_ASSERT_NE_STR (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_STR (EXPECT, !=, ACTUAL)
 

#define CCUNIT_ASSERT_NE_UINT (  EXPECT,
ACTUAL   )     CCUNIT_ASSERT_TEST_UINT (EXPECT, !=, ACTUAL)
 

#define CCUNIT_ASSERT_NOT_NULL (  ACTUAL   )     CCUNIT_ASSERT_TEST_PTR(NULL, !=, ACTUAL)
 

#define CCUNIT_ASSERT_NULL (  ACTUAL   )     CCUNIT_ASSERT_TEST_PTR(NULL, ==, ACTUAL)
 

#define CCUNIT_ASSERT_TEST (  TYP,
EXPECT,
OP,
ACTUAL   ) 
 

Value:

do {                                                                    \
    const TYP ex = (EXPECT);                                            \
    const TYP ac = (ACTUAL);                                            \
    ccunit_assert_test_ ## TYP (__FILE__, __LINE__, (ex OP ac),         \
                                (#EXPECT " " #OP " " #ACTUAL),          \
                                ex, ac);                                \
  } while (0)
Asserts that a condition is true.

If it isn't it longjmp with _ccunit_runTest_env.

Parameters:
TYP type of expect/actual value.
EXPECT expect value.
OP test operator.
ACTUAL actual value.
Exceptions:
_ccunit_runTest_env If condition is false.

#define CCUNIT_ASSERT_TEST_CASE_NSTR (  EXPECT,
OP,
ACTUAL,
N   ) 
 

Value:

do {                                                                    \
    const _ccunit_str_t ex = (EXPECT);                                  \
    const _ccunit_str_t ac = (ACTUAL);                                  \
    const size_t n = (N);                                               \
    ccunit_assert_test__ccunit_str_t (__FILE__, __LINE__,               \
                                      strncasecmp(ex, ac, n) OP 0,      \
                                      "strncasecmp (" #EXPECT ", " #ACTUAL \
                                      ", " #N ") " #OP " 0",            \
                                      ex, ac);                          \
  } while (0)

#define CCUNIT_ASSERT_TEST_CASE_STR (  EXPECT,
OP,
ACTUAL   ) 
 

Value:

do {                                                                    \
    const _ccunit_str_t ex = (EXPECT);                                  \
    const _ccunit_str_t ac = (ACTUAL);                                  \
    const size_t n = (N);                                               \
    ccunit_assert_test__ccunit_str_t (__FILE__, __LINE__,               \
                                      strcasecmp(ex, ac) OP 0,          \
                                      "strcasecmp (" #EXPECT ", " #ACTUAL \
                                      ") " #OP " 0",                    \
                                      ex, ac);                          \
  } while (0)

#define CCUNIT_ASSERT_TEST_DOUBLE (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (double, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_FLOAT (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (float, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_INT (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (int, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_LONG (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (long, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_NSTR (  EXPECT,
OP,
ACTUAL,
N   ) 
 

Value:

do {                                                                    \
    const _ccunit_str_t ex = (EXPECT);                                  \
    const _ccunit_str_t ac = (ACTUAL);                                  \
    const size_t n = (N);                                               \
    ccunit_assert_test__ccunit_str_t (__FILE__, __LINE__,               \
                                      strncmp(ex, ac, n) OP 0,          \
                                      "strncmp (" #EXPECT ", " #ACTUAL  \
                                      ", " #N ") " #OP " 0",            \
                                      ex, ac);                          \
  } while (0)

#define CCUNIT_ASSERT_TEST_OBJ (  EXPECT,
OP,
ACTUAL,
TOSTR   ) 
 

Value:

do {                                                                    \
    const _ccunit_obj_t ex = (EXPECT);                                  \
    const _ccunit_obj_t ac = (ACTUAL);                                  \
    const char* condstr = #OP " (" #EXPECT ", " #ACTUAL ")";            \
    ccunit_assert_test__ccunit_obj_t (__FILE__, __LINE__,               \
                                      OP(ex, ac), condstr, ex, ac,      \
                                      (ccunit_toString_t)TOSTR);        \
  } while (0)

#define CCUNIT_ASSERT_TEST_PTR (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (_ccunit_ptr_t, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_SHORT (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (short, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_STR (  EXPECT,
OP,
ACTUAL   ) 
 

Value:

do {                                                                    \
    const _ccunit_str_t ex = (EXPECT);                                  \
    const _ccunit_str_t ac = (ACTUAL);                                  \
    const char* condstr = "strcmp (" #EXPECT ", " #ACTUAL ") " #OP " 0"; \
    ccunit_assert_test__ccunit_str_t (__FILE__, __LINE__,               \
                                      strcmp(ex, ac) OP 0, condstr, ex, ac); \
  } while (0)

#define CCUNIT_ASSERT_TEST_UINT (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (u_int, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_ULONG (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (u_long, EXPECT, OP, ACTUAL)
 

#define CCUNIT_ASSERT_TEST_USHORT (  EXPECT,
OP,
ACTUAL   )     CCUNIT_ASSERT_TEST (u_short, EXPECT, OP, ACTUAL)
 

#define DCL_CCUNIT_ASSERT_TEST_TYPE (  TYP   ) 
 

Value:

extern void ccunit_assert_test_ ## TYP (const char* file, unsigned int line, \
                                          bool cond, const char* condstr, \
                                          TYP expect, TYP acutal)

Typedef Documentation

typedef char*(* ccunit_toString_t)(_ccunit_obj_t)
 


Function Documentation

void ccunit_assert (  const char *  file,
unsigned int  line,
bool  condition,
const char *  condstr
) 
 

Asserts that a condition is true.

If it isn't it longjmp with _ccunit_runTest_env.

Parameters:
file file name.
line line number.
condition assert condition.
condstr assert condition as string.
Exceptions:
_ccunit_runTest_env If condition is false.

void ccunit_assert_test__ccunit_obj_t (  const char *  file,
unsigned int  line,
bool  cond,
const char *  condstr,
_ccunit_obj_t  expect,
_ccunit_obj_t  acutal,
ccunit_toString_t 
) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  _ccunit_ptr_t   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  _ccunit_str_t   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  double   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  float   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  u_long   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  long   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  u_short   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  short   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  u_int   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  int   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  u_char   ) 
 

DCL_CCUNIT_ASSERT_TEST_TYPE (  char   ) 
 


SourceForge.jp hosts this site. Send comments to:
CCUnit Developer