39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
#ifndef _TESTING_HELPERS_H_
|
|
#define _TESTING_HELPERS_H_
|
|
|
|
#include <unity.h>
|
|
|
|
#include "nihilispm.h"
|
|
|
|
#define TEST_ASSERT_OBJ_ERROR(obj) \
|
|
TEST_ASSERT_EQUAL(obj->type, NL_TYPE_ERROR)
|
|
|
|
#define TEST_ASSERT_OBJ_SYMBOL(obj) \
|
|
TEST_ASSERT_EQUAL(obj->type, NL_TYPE_SYMBOL)
|
|
|
|
#define TEST_ASSERT_OBJ_STRING(obj) \
|
|
TEST_ASSERT_EQUAL(obj->type, NL_TYPE_STRING)
|
|
|
|
#define TEST_ASSERT_OBJ_INT(obj) \
|
|
TEST_ASSERT_EQUAL(obj->type, NL_TYPE_INT)
|
|
|
|
#define TEST_ASSERT_OBJ_LIST(obj) \
|
|
TEST_ASSERT_EQUAL(obj->type, NL_TYPE_CELL)
|
|
|
|
#define TEST_ASSERT_LIST_LEN(list, len) \
|
|
do { \
|
|
TEST_ASSERT_OBJ_LIST(list); \
|
|
TEST_ASSERT_EQUAL(nl_list_length(list)->integer, len); \
|
|
} while(0)
|
|
|
|
#define TEST_ASSERT_NIL(obj) \
|
|
TEST_ASSERT_LIST_LEN(obj, 0)
|
|
|
|
#define TEST_ASSERT_T(obj) \
|
|
do { \
|
|
TEST_ASSERT_OBJ_SYMBOL(obj); \
|
|
TEST_ASSERT_EQUAL_STRING(obj->symbol, "t"); \
|
|
} while(0)
|
|
|
|
#endif
|