Пример #1
0
/**
 * Test the type that saved in the slist container is same.
 */
bool_t _slist_same_type(const slist_t* cpslist_first, const slist_t* cpslist_second)
{
    assert(cpslist_first != NULL);
    assert(cpslist_second != NULL);
    assert(_slist_is_inited(cpslist_first) || _slist_is_created(cpslist_first));
    assert(_slist_is_inited(cpslist_second) || _slist_is_created(cpslist_second));

    if(cpslist_first == cpslist_second)
    {
        return true;
    }

    return (cpslist_first->_t_typeinfo._pt_type == cpslist_second->_t_typeinfo._pt_type) &&
           (cpslist_first->_t_typeinfo._t_style == cpslist_second->_t_typeinfo._t_style) &&
           _type_is_same(_GET_SLIST_TYPE_NAME(cpslist_first), _GET_SLIST_TYPE_NAME(cpslist_second));
}
Пример #2
0
void test__create_slist__libcstl_builtin_type(void** state)
{
    slist_t* pslist = _create_slist("vector_t         <      int>     ");
    assert_true(pslist != NULL);
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "vector_t<int>") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #3
0
void test__create_slist__c_builtin_type(void** state)
{
    slist_t* pslist = _create_slist("unsigned int");
    assert_true(pslist != NULL);
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "unsigned int") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #4
0
void test__create_slist_auxiliary__libcstl_builtin(void** state)
{
    slist_t* pslist = malloc(sizeof(slist_t));
    assert_true(_create_slist_auxiliary(pslist, "slist_t<   vector_t     <     string_t>>       "));
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "slist_t<vector_t<string_t>>") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #5
0
void test__create_slist_auxiliary__c_builtin(void** state)
{
    slist_t* pslist = malloc(sizeof(slist_t));
    assert_true(_create_slist_auxiliary(pslist, "double"));
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "double") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #6
0
void test__create_slist_auxiliary__user_defined_dup(void** state)
{
    slist_t* pslist = NULL;
    type_duplicate(struct _tag_test__create_slist_auxiliary__user_defined, _test__create_slist_auxiliary__user_defined_t);
    pslist = malloc(sizeof(slist_t));
    assert_true(_create_slist_auxiliary(pslist, "_test__create_slist_auxiliary__user_defined_t"));
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "_test__create_slist_auxiliary__user_defined_t") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #7
0
void test__create_slist__user_defined_type_dup(void** state)
{
    slist_t* pslist = NULL;

    type_duplicate(struct _tag_test__create_slist__user_defined_type, _test__create_slist__user_defined_type_t);
    pslist = _create_slist("_test__create_slist__user_defined_type_t");
    assert_true(pslist != NULL);
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "_test__create_slist__user_defined_type_t") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #8
0
void test__create_slist__user_defined_type(void** state)
{
    slist_t* pslist = NULL;

    type_register(struct _tag_test__create_slist__user_defined_type, NULL, NULL, NULL, NULL);
    pslist = _create_slist("struct      _tag_test__create_slist__user_defined_type");
    assert_true(pslist != NULL);
    assert_true(strcmp(_GET_SLIST_TYPE_NAME(pslist), "struct _tag_test__create_slist__user_defined_type") == 0);
    assert_true(_slist_is_created(pslist));

    slist_destroy(pslist);
}
Пример #9
0
/**
 * Initialize element with slist element type auxiliary function.
 */
void _slist_init_elem_auxiliary(slist_t* pslist_slist, void* pv_value)
{
    assert(pslist_slist != NULL);
    assert(pv_value != NULL);
    assert(_slist_is_inited(pslist_slist) || _slist_is_created(pslist_slist));

    /* initialize new elements */
    if (_GET_SLIST_TYPE_STYLE(pslist_slist) == _TYPE_CSTL_BUILTIN) {
        /* get element type name */
        char s_elemtypename[_TYPE_NAME_SIZE + 1];
        _type_get_elem_typename(_GET_SLIST_TYPE_NAME(pslist_slist), s_elemtypename);

        _GET_SLIST_TYPE_INIT_FUNCTION(pslist_slist)(pv_value, s_elemtypename);
    } else {
        bool_t b_result = _GET_SLIST_TYPE_SIZE(pslist_slist);
        _GET_SLIST_TYPE_INIT_FUNCTION(pslist_slist)(pv_value, &b_result);
        assert(b_result);
    }
}