Skip to content

Commit 5158ce1

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

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

c/tests/test_trees.c

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8776,6 +8776,49 @@ 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+
8805+
tsk_site_table_clear(&tables.sites);
8806+
row_ret = tsk_site_table_add_row(&tables.sites, 0.5, "A", 1, NULL, 0);
8807+
CU_ASSERT_EQUAL_FATAL(row_ret, 0);
8808+
row_ret = tsk_mutation_table_add_row(
8809+
&tables.mutations, 0, 0, TSK_NULL, TSK_UNKNOWN_TIME, "A", 1, NULL, 0);
8810+
CU_ASSERT_EQUAL_FATAL(row_ret, 0);
8811+
row_ret = tsk_mutation_table_add_row(
8812+
&tables.mutations, 0, 4, TSK_NULL, TSK_UNKNOWN_TIME, "A", 1, NULL, 0);
8813+
CU_ASSERT_EQUAL_FATAL(row_ret, 1);
8814+
8815+
ret = tsk_treeseq_init(
8816+
&ts, &tables, TSK_TS_INIT_BUILD_INDEXES | TSK_TS_INIT_COMPUTE_MUTATION_PARENTS);
8817+
CU_ASSERT_EQUAL_FATAL(ret, TSK_ERR_MUTATION_PARENT_AFTER_CHILD);
8818+
8819+
tsk_table_collection_free(&tables);
8820+
}
8821+
87798822
int
87808823
main(int argc, char **argv)
87818824
{
@@ -8985,6 +9028,8 @@ main(int argc, char **argv)
89859028
{ "test_init_take_ownership_no_edge_metadata",
89869029
test_init_take_ownership_no_edge_metadata },
89879030
{ "test_init_compute_mutation_parents", test_init_compute_mutation_parents },
9031+
{ "test_init_compute_mutation_parents_errors",
9032+
test_init_compute_mutation_parents_errors },
89889033
{ NULL, NULL },
89899034
};
89909035

0 commit comments

Comments
 (0)