diff -r 97df2e4c68fb -r 5c926801f052 tests/test_tree.c --- a/tests/test_tree.c Sun Feb 18 13:16:38 2024 +0100 +++ b/tests/test_tree.c Sun Feb 18 13:38:42 2024 +0100 @@ -250,6 +250,25 @@ } } +CX_TEST(test_tree_iterator_create) { + tree_node root; + CX_TEST_DO { + CxTreeIterator iter = cx_tree_iterator(&root, false, tree_child_list); + CX_TEST_ASSERT(!iter.visit_on_exit); + CX_TEST_ASSERT(!iter.exiting); + CX_TEST_ASSERT(iter.counter == 1); + CX_TEST_ASSERT(iter.node == &root); + CX_TEST_ASSERT(!iter.base.mutating); + CX_TEST_ASSERT(!iter.base.remove); + CX_TEST_ASSERT(iter.stack != NULL); + CX_TEST_ASSERT(iter.stack_capacity > 0); + CX_TEST_ASSERT(iter.stack_size == 1); + CX_TEST_ASSERT(iter.depth == 1); + CX_TEST_ASSERT(iter.loc_next == offsetof(tree_node, next)); + CX_TEST_ASSERT(iter.loc_children == offsetof(tree_node, children)); + } +} + CxTestSuite *cx_test_suite_tree_low_level(void) { CxTestSuite *suite = cx_test_suite_new("tree (low level)"); @@ -258,6 +277,7 @@ cx_test_register(suite, test_tree_link_move_to_other_parent); cx_test_register(suite, test_tree_unlink); cx_test_register(suite, test_tree_search); + cx_test_register(suite, test_tree_iterator_create); return suite; }