Exemple #1
0
void
case_list_iter()
{
    struct list *list = list();
    char *s1 = "s1", *s2 = "s2", *s3 = "s3";
    list_push(list, s1);
    list_push(list, s2);
    list_push(list, s3);
    struct list_iter *iter = list_iter(list);
    assert(iter->list == list);
    assert(iter->node == list->head);
    assert(list_iter_next(iter) == s1);
    assert(list_iter_next(iter) == s2);
    assert(list_iter_next(iter) == s3);
    list_iter_seek_tail(iter);
    assert(list_iter_prev(iter) == s3);
    assert(list_iter_prev(iter) == s2);
    assert(list_iter_prev(iter) == s1);
    list_iter_free(iter);
    int i = 0;
    struct list_node *node;
    list_each(list, node) {
        char *s = node->data;
        assert(s[1] - 49 == i);
        i += 1;
    }
Exemple #2
0
void
case_list_iter()
{
    struct list *list = list();
    char *s1 = "s1", *s2 = "s2", *s3 = "s3";
    list_push(list, s1);
    list_push(list, s2);
    list_push(list, s3);
    struct list_iter *iter = list_iter(list);
    assert(iter->list == list);
    assert(iter->node == list->head);
    assert(list_iter_next(iter) == s1);
    assert(list_iter_next(iter) == s2);
    assert(list_iter_next(iter) == s3);
    list_iter_seek_tail(iter);
    assert(list_iter_prev(iter) == s3);
    assert(list_iter_prev(iter) == s2);
    assert(list_iter_prev(iter) == s1);
    list_iter_free(iter);
    list_free(list);
}