mirror of
https://gitee.com/apaki/unicstl.git
synced 2025-05-17 19:41:36 +08:00
deque的迭代器测试通过
This commit is contained in:
parent
b3d7c96484
commit
5d4a461543
@ -263,10 +263,61 @@ static void test_deque_struct(void)
|
||||
TEST_ASSERT_NULL(deque);
|
||||
}
|
||||
|
||||
|
||||
static void test_deque_iter(void)
|
||||
{
|
||||
uint32_t i = 0;
|
||||
int data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
||||
int temp = 0;
|
||||
uint32_t len = sizeof(data) / sizeof(data[0]);
|
||||
|
||||
deque_t deque = deque_new(sizeof(int));
|
||||
TEST_ASSERT_NOT_NULL(deque);
|
||||
deque->print_obj = print_num;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
TEST_ASSERT_TRUE(deque->push_back(deque, &data[i]));
|
||||
|
||||
TEST_ASSERT_TRUE(deque->front(deque, &temp));
|
||||
TEST_ASSERT_EQUAL_INT(data[0], temp);
|
||||
|
||||
TEST_ASSERT_TRUE(deque->back(deque, &temp));
|
||||
TEST_ASSERT_EQUAL_INT(data[i], temp);
|
||||
|
||||
TEST_ASSERT_EQUAL_INT(i + 1, deque->size(deque));
|
||||
}
|
||||
|
||||
iterator_t iter = deque->iter(deque);
|
||||
i = 0;
|
||||
while(iter->hasnext(iter))
|
||||
{
|
||||
temp = *(int *)iter->next(iter);
|
||||
// printf("%d ", temp);
|
||||
TEST_ASSERT_EQUAL_INT(data[i], temp);
|
||||
i++;
|
||||
}
|
||||
|
||||
iter = deque->iter(deque);
|
||||
i = 0;
|
||||
while(iter->hasnext(iter))
|
||||
{
|
||||
temp = *(int *)iter->next(iter);
|
||||
// printf("%d ", temp);
|
||||
TEST_ASSERT_EQUAL_INT(data[i], temp);
|
||||
i++;
|
||||
}
|
||||
|
||||
deque_free(&deque);
|
||||
TEST_ASSERT_NULL(deque);
|
||||
}
|
||||
|
||||
void test_deque(void)
|
||||
{
|
||||
UnitySetTestFile(__FILE__);
|
||||
|
||||
RUN_TEST(test_deque_num);
|
||||
RUN_TEST(test_deque_struct);
|
||||
|
||||
RUN_TEST(test_deque_iter);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user