tests/test_tree.c

changeset 833
5c926801f052
parent 826
21840975d541
child 836
2672a2f79484
     1.1 --- a/tests/test_tree.c	Sun Feb 18 13:16:38 2024 +0100
     1.2 +++ b/tests/test_tree.c	Sun Feb 18 13:38:42 2024 +0100
     1.3 @@ -250,6 +250,25 @@
     1.4      }
     1.5  }
     1.6  
     1.7 +CX_TEST(test_tree_iterator_create) {
     1.8 +    tree_node root;
     1.9 +    CX_TEST_DO {
    1.10 +        CxTreeIterator iter = cx_tree_iterator(&root, false, tree_child_list);
    1.11 +        CX_TEST_ASSERT(!iter.visit_on_exit);
    1.12 +        CX_TEST_ASSERT(!iter.exiting);
    1.13 +        CX_TEST_ASSERT(iter.counter == 1);
    1.14 +        CX_TEST_ASSERT(iter.node == &root);
    1.15 +        CX_TEST_ASSERT(!iter.base.mutating);
    1.16 +        CX_TEST_ASSERT(!iter.base.remove);
    1.17 +        CX_TEST_ASSERT(iter.stack != NULL);
    1.18 +        CX_TEST_ASSERT(iter.stack_capacity > 0);
    1.19 +        CX_TEST_ASSERT(iter.stack_size == 1);
    1.20 +        CX_TEST_ASSERT(iter.depth == 1);
    1.21 +        CX_TEST_ASSERT(iter.loc_next == offsetof(tree_node, next));
    1.22 +        CX_TEST_ASSERT(iter.loc_children == offsetof(tree_node, children));
    1.23 +    }
    1.24 +}
    1.25 +
    1.26  CxTestSuite *cx_test_suite_tree_low_level(void) {
    1.27      CxTestSuite *suite = cx_test_suite_new("tree (low level)");
    1.28  
    1.29 @@ -258,6 +277,7 @@
    1.30      cx_test_register(suite, test_tree_link_move_to_other_parent);
    1.31      cx_test_register(suite, test_tree_unlink);
    1.32      cx_test_register(suite, test_tree_search);
    1.33 +    cx_test_register(suite, test_tree_iterator_create);
    1.34  
    1.35      return suite;
    1.36  }

mercurial