Minor refactor to parsing and testing cleanup
This commit is contained in:
@@ -4,26 +4,48 @@
|
||||
#include <unity.h>
|
||||
|
||||
#include "uclisp.h"
|
||||
#include "utility.h"
|
||||
|
||||
#define TEST_ASSERT_OBJ_ERROR(obj) \
|
||||
TEST_ASSERT_EQUAL(obj->type, UCL_TYPE_ERROR)
|
||||
#define TEST_ASSERT_OBJ_ERROR(obj) \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_ERROR, (obj)->type, "Expected error type")
|
||||
|
||||
#define TEST_ASSERT_OBJ_SYMBOL(obj) \
|
||||
TEST_ASSERT_EQUAL(obj->type, UCL_TYPE_SYMBOL)
|
||||
#define TEST_ASSERT_OBJ_SYMBOL(obj) \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_SYMBOL, (obj)->type, "Expected symbol type")
|
||||
|
||||
#define TEST_ASSERT_OBJ_STRING(obj) \
|
||||
TEST_ASSERT_EQUAL(obj->type, UCL_TYPE_STRING)
|
||||
#define TEST_ASSERT_OBJ_SYMBOL_V(obj, value) \
|
||||
do { \
|
||||
TEST_ASSERT_NOT_NULL(obj); \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_SYMBOL, (obj)->type, "Expected symbol type"); \
|
||||
TEST_ASSERT_EQUAL_STRING((obj)->symbol, value); \
|
||||
} while (0)
|
||||
|
||||
#define TEST_ASSERT_OBJ_INT(obj) \
|
||||
TEST_ASSERT_EQUAL(obj->type, UCL_TYPE_INT)
|
||||
#define TEST_ASSERT_OBJ_STRING(obj) \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_STRING, (obj)->type, "Expected string type")
|
||||
|
||||
#define TEST_ASSERT_OBJ_LIST(obj) \
|
||||
TEST_ASSERT_EQUAL(obj->type, UCL_TYPE_CELL)
|
||||
#define TEST_ASSERT_OBJ_STRING_V(obj, value) \
|
||||
do { \
|
||||
TEST_ASSERT_NOT_NULL(obj); \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_STRING, (obj)->type, "Expected string type"); \
|
||||
TEST_ASSERT_EQUAL_STRING((obj)->string, value); \
|
||||
} while (0)
|
||||
|
||||
#define TEST_ASSERT_OBJ_INT(obj) \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_INT, (obj)->type, "Expected int type")
|
||||
|
||||
#define TEST_ASSERT_OBJ_INT_V(obj, value) \
|
||||
do { \
|
||||
TEST_ASSERT_NOT_NULL(obj); \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_INT, (obj)->type, "Expected int type"); \
|
||||
TEST_ASSERT_EQUAL(value, (obj)->integer); \
|
||||
} while (0)
|
||||
|
||||
#define TEST_ASSERT_OBJ_LIST(obj) \
|
||||
TEST_ASSERT_EQUAL_MESSAGE(UCL_TYPE_CELL, obj->type, "Expected cell type")
|
||||
|
||||
#define TEST_ASSERT_LIST_LEN(list, len) \
|
||||
do { \
|
||||
TEST_ASSERT_OBJ_LIST(list); \
|
||||
TEST_ASSERT_EQUAL(ucl_list_length(list)->integer, len); \
|
||||
TEST_ASSERT_EQUAL(len, ucl_list_length(list)->integer); \
|
||||
} while(0)
|
||||
|
||||
#define TEST_ASSERT_NIL(obj) \
|
||||
|
||||
Reference in New Issue
Block a user