Skip to content

Commit b6f7b4d

Browse files
committed
Add missing C test
1 parent 026fff3 commit b6f7b4d

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

c/tests/test_trees.c

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8776,6 +8776,51 @@ test_init_compute_mutation_parents(void)
87768776
tsk_treeseq_free(&ts);
87778777
}
87788778

8779+
static void
8780+
test_init_compute_mutation_parents_errors(void)
8781+
{
8782+
int ret;
8783+
tsk_id_t row_ret;
8784+
tsk_table_collection_t tables;
8785+
tsk_treeseq_t ts;
8786+
const char *sites = "0.5 0\n"
8787+
"0 0\n";
8788+
8789+
ret = tsk_table_collection_init(&tables, 0);
8790+
CU_ASSERT_EQUAL_FATAL(ret, 0);
8791+
8792+
tables.sequence_length = 1;
8793+
parse_nodes(single_tree_ex_nodes, &tables.nodes);
8794+
CU_ASSERT_EQUAL_FATAL(tables.nodes.num_rows, 7);
8795+
parse_edges(single_tree_ex_edges, &tables.edges);
8796+
CU_ASSERT_EQUAL_FATAL(tables.edges.num_rows, 6);
8797+
parse_sites(sites, &tables.sites);
8798+
CU_ASSERT_EQUAL_FATAL(tables.sites.num_rows, 2);
8799+
tables.sequence_length = 1.0;
8800+
8801+
ret = tsk_treeseq_init(
8802+
&ts, &tables, TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS);
8803+
CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_UNSORTED_SITES);
8804+
tsk_treeseq_free(&ts);
8805+
8806+
tsk_site_table_clear(&tables.sites);
8807+
row_ret = tsk_site_table_add_row(&tables.sites, 0.5, "A", 1, NULL, 0);
8808+
CU_ASSERT_EQUAL_FATAL(row_ret, 0);
8809+
row_ret = tsk_mutation_table_add_row(
8810+
&tables.mutations, 0, 0, TSK_NULL, TSK_UNKNOWN_TIME, "A", 1, NULL, 0);
8811+
CU_ASSERT_EQUAL_FATAL(row_ret, 0);
8812+
row_ret = tsk_mutation_table_add_row(
8813+
&tables.mutations, 0, 4, TSK_NULL, TSK_UNKNOWN_TIME, "A", 1, NULL, 0);
8814+
CU_ASSERT_EQUAL_FATAL(row_ret, 1);
8815+
8816+
ret = tsk_treeseq_init(
8817+
&ts, &tables, TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS);
8818+
CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_MUTATION_PARENT_AFTER_CHILD);
8819+
tsk_treeseq_free(&ts);
8820+
8821+
tsk_table_collection_free(&tables);
8822+
}
8823+
87798824
int
87808825
main(int argc, char **argv)
87818826
{
@@ -8985,6 +9030,8 @@ main(int argc, char **argv)
89859030
{ "test_init_take_ownership_no_edge_metadata",
89869031
test_init_take_ownership_no_edge_metadata },
89879032
{ "test_init_compute_mutation_parents", test_init_compute_mutation_parents },
9033+
{ "test_init_compute_mutation_parents_errors",
9034+
test_init_compute_mutation_parents_errors },
89889035
{ NULL, NULL },
89899036
};
89909037

0 commit comments

Comments
 (0)