use NodeArray instead of PtrArray
This commit is contained in:
92
src/tests.c
92
src/tests.c
@ -287,21 +287,21 @@ static void test_wm_postorder_traversal(void **state)
|
||||
{
|
||||
TreeNode *node1 = (TreeNode*)*state;
|
||||
|
||||
PtrArray postorder = wm_postorder_traversal(node1);
|
||||
TreeNode **postorder_nodes = (TreeNode**)postorder.ptrs;
|
||||
NodeArray *postorder = wm_postorder_traversal(node1);
|
||||
|
||||
assert_int_equal(postorder.size, 8);
|
||||
assert_non_null(postorder);
|
||||
assert_int_equal(postorder->size, 8);
|
||||
|
||||
assert_int_equal(postorder_nodes[0]->id, 4);
|
||||
assert_int_equal(postorder_nodes[1]->id, 5);
|
||||
assert_int_equal(postorder_nodes[2]->id, 6);
|
||||
assert_int_equal(postorder_nodes[3]->id, 2);
|
||||
assert_int_equal(postorder_nodes[4]->id, 7);
|
||||
assert_int_equal(postorder_nodes[5]->id, 8);
|
||||
assert_int_equal(postorder_nodes[6]->id, 3);
|
||||
assert_int_equal(postorder_nodes[7]->id, 1);
|
||||
assert_int_equal(postorder->nodes[0]->id, 4);
|
||||
assert_int_equal(postorder->nodes[1]->id, 5);
|
||||
assert_int_equal(postorder->nodes[2]->id, 6);
|
||||
assert_int_equal(postorder->nodes[3]->id, 2);
|
||||
assert_int_equal(postorder->nodes[4]->id, 7);
|
||||
assert_int_equal(postorder->nodes[5]->id, 8);
|
||||
assert_int_equal(postorder->nodes[6]->id, 3);
|
||||
assert_int_equal(postorder->nodes[7]->id, 1);
|
||||
|
||||
wm_ptrarray_free(&postorder);
|
||||
wm_nodearray_free(postorder);
|
||||
}
|
||||
|
||||
static void test_wm_treenode_lmd(void **state)
|
||||
@ -329,60 +329,60 @@ static void test_wm_is_treenode_keyroot(void **state)
|
||||
{
|
||||
TreeNode *node1 = (TreeNode*)*state;
|
||||
|
||||
PtrArray postorder = wm_postorder_traversal(node1);
|
||||
TreeNode **postorder_nodes = (TreeNode**)postorder.ptrs;
|
||||
NodeArray *postorder = wm_postorder_traversal(node1);
|
||||
|
||||
assert_int_equal(postorder.size, 8);
|
||||
assert_non_null(postorder);
|
||||
assert_int_equal(postorder->size, 8);
|
||||
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[0]), false);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[1]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[2]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[3]), false);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[4]), false);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[5]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[6]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder_nodes[7]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[0]), false);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[1]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[2]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[3]), false);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[4]), false);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[5]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[6]), true);
|
||||
assert_int_equal(wm_is_treenode_keyroot(postorder->nodes[7]), true);
|
||||
|
||||
wm_ptrarray_free(&postorder);
|
||||
wm_nodearray_free(postorder);
|
||||
}
|
||||
|
||||
static void test_wm_treenode_all_lmds(void **state)
|
||||
{
|
||||
TreeNode *node1 = (TreeNode*)*state;
|
||||
|
||||
PtrArray ret = wm_treenode_all_lmds(node1);
|
||||
TreeNode **lmds = (TreeNode**)ret.ptrs;
|
||||
NodeArray *lmds = wm_treenode_all_lmds(node1);
|
||||
|
||||
assert_int_equal(ret.size, 8);
|
||||
assert_non_null(lmds);
|
||||
assert_int_equal(lmds->size, 8);
|
||||
|
||||
assert_int_equal(lmds[0]->id, 4);
|
||||
assert_int_equal(lmds[1]->id, 5);
|
||||
assert_int_equal(lmds[2]->id, 6);
|
||||
assert_int_equal(lmds[3]->id, 4);
|
||||
assert_int_equal(lmds[4]->id, 7);
|
||||
assert_int_equal(lmds[5]->id, 8);
|
||||
assert_int_equal(lmds[6]->id, 7);
|
||||
assert_int_equal(lmds[7]->id, 4);
|
||||
assert_int_equal(lmds->nodes[0]->id, 4);
|
||||
assert_int_equal(lmds->nodes[1]->id, 5);
|
||||
assert_int_equal(lmds->nodes[2]->id, 6);
|
||||
assert_int_equal(lmds->nodes[3]->id, 4);
|
||||
assert_int_equal(lmds->nodes[4]->id, 7);
|
||||
assert_int_equal(lmds->nodes[5]->id, 8);
|
||||
assert_int_equal(lmds->nodes[6]->id, 7);
|
||||
assert_int_equal(lmds->nodes[7]->id, 4);
|
||||
|
||||
wm_ptrarray_free(&ret);
|
||||
wm_nodearray_free(lmds);
|
||||
}
|
||||
|
||||
static void test_wm_treenode_all_keyroots(void **state)
|
||||
{
|
||||
TreeNode *node1 = (TreeNode*)*state;
|
||||
|
||||
PtrArray keyroots = wm_treenode_all_keyroots(node1);
|
||||
TreeNode **keyroot_nodes = (TreeNode**)keyroots.ptrs;
|
||||
NodeArray *keyroots = wm_treenode_all_keyroots(node1);
|
||||
|
||||
assert_int_equal(keyroots.size, 5);
|
||||
assert_non_null(keyroots);
|
||||
assert_int_equal(keyroots->size, 5);
|
||||
|
||||
assert_int_equal(keyroot_nodes[0]->id, 5);
|
||||
assert_int_equal(keyroot_nodes[1]->id, 6);
|
||||
assert_int_equal(keyroot_nodes[2]->id, 8);
|
||||
assert_int_equal(keyroot_nodes[3]->id, 3);
|
||||
assert_int_equal(keyroot_nodes[4]->id, 1);
|
||||
assert_int_equal(keyroots->nodes[0]->id, 5);
|
||||
assert_int_equal(keyroots->nodes[1]->id, 6);
|
||||
assert_int_equal(keyroots->nodes[2]->id, 8);
|
||||
assert_int_equal(keyroots->nodes[3]->id, 3);
|
||||
assert_int_equal(keyroots->nodes[4]->id, 1);
|
||||
|
||||
wm_ptrarray_free(&keyroots);
|
||||
wm_nodearray_free(keyroots);
|
||||
}
|
||||
|
||||
static int test2_setup(void **state)
|
||||
@ -438,10 +438,12 @@ static int test2_setup(void **state)
|
||||
*state = node1;
|
||||
|
||||
NodeArray *nodes = wm_all_nodes_to_array((TreeNode*)*state);
|
||||
assert_non_null(nodes);
|
||||
|
||||
test_group2_nodes_copy = wm_nodearray_new();
|
||||
for (size_t i = 0; i < nodes->size; i++) {
|
||||
TreeNode *node_copy = malloc(sizeof(TreeNode));
|
||||
assert_non_null(node_copy);
|
||||
*node_copy = *(nodes->nodes)[i];
|
||||
wm_nodearray_push(test_group2_nodes_copy, node_copy);
|
||||
}
|
||||
|
Reference in New Issue
Block a user