#ifndef _TESTING_HELPERS_H_ #define _TESTING_HELPERS_H_ #include #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