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 }