@@ -153,7 +153,7 @@ verify_restore_tsb(tree_sequence_builder_t *tsb, tsk_table_collection_t *tables)
153
153
CU_ASSERT_EQUAL_FATAL (ret , 0 );
154
154
155
155
ret = tree_sequence_builder_alloc (
156
- & other_tsb , tsb -> num_sites , tsb -> sites .num_alleles , 1 , 1 , 0 );
156
+ & other_tsb , tsb -> num_sites , tsb -> sites .num_alleles , NULL , 1 , 1 , 0 );
157
157
CU_ASSERT_EQUAL_FATAL (ret , 0 );
158
158
159
159
ret = tree_sequence_builder_restore_nodes (
@@ -361,7 +361,7 @@ run_random_data(size_t num_samples, size_t num_sites, int seed,
361
361
CU_ASSERT_FATAL (num_samples >= 2 );
362
362
ret = ancestor_builder_alloc (& ancestor_builder , num_samples , num_sites , 0 );
363
363
CU_ASSERT_EQUAL_FATAL (ret , 0 );
364
- ret = tree_sequence_builder_alloc (& tsb , num_sites , NULL , 1 , 1 , 0 );
364
+ ret = tree_sequence_builder_alloc (& tsb , num_sites , NULL , NULL , 1 , 1 , 0 );
365
365
CU_ASSERT_EQUAL_FATAL (ret , 0 );
366
366
ret = ancestor_matcher_alloc (& ancestor_matcher , & tsb , recombination_rates ,
367
367
mismatch_rates , DBL_MIN , TSI_EXTENDED_CHECKS );
@@ -528,7 +528,7 @@ test_matching_one_site(void)
528
528
size_t num_edges ;
529
529
tsk_id_t * left , * right , * parent ;
530
530
531
- ret = tree_sequence_builder_alloc (& tsb , 1 , NULL , 1 , 1 , 0 );
531
+ ret = tree_sequence_builder_alloc (& tsb , 1 , NULL , NULL , 1 , 1 , 0 );
532
532
CU_ASSERT_EQUAL_FATAL (ret , 0 );
533
533
ret = tree_sequence_builder_add_node (& tsb , 2.0 , 0 );
534
534
CU_ASSERT_EQUAL_FATAL (ret , 0 );
@@ -597,7 +597,7 @@ test_matching_one_site_many_alleles(void)
597
597
allele_t derived_state ;
598
598
599
599
/* Create a linear topology with a mutation over each node */
600
- ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , 1 , 1 , 0 );
600
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , NULL , 1 , 1 , 0 );
601
601
CU_ASSERT_EQUAL_FATAL (ret , 0 );
602
602
ret = tree_sequence_builder_add_node (& tsb , num_nodes , 0 );
603
603
CU_ASSERT_EQUAL_FATAL (ret , 0 );
@@ -674,7 +674,7 @@ test_matching_errors(void)
674
674
size_t num_edges ;
675
675
tsk_id_t * left , * right , * parent ;
676
676
677
- ret = tree_sequence_builder_alloc (& tsb , 2 , NULL , 1 , 1 , 0 );
677
+ ret = tree_sequence_builder_alloc (& tsb , 2 , NULL , NULL , 1 , 1 , 0 );
678
678
CU_ASSERT_EQUAL_FATAL (ret , 0 );
679
679
ret = tree_sequence_builder_add_node (& tsb , 2.0 , 0 );
680
680
CU_ASSERT_EQUAL_FATAL (ret , 0 );
@@ -708,26 +708,38 @@ test_tsb_errors(void)
708
708
int ret ;
709
709
tree_sequence_builder_t tsb ;
710
710
tsk_size_t num_alleles ;
711
+ allele_t ancestral_state ;
711
712
tsk_id_t left , right , parent ;
712
713
tsk_id_t left_arr [2 ], right_arr [2 ], parent_arr [2 ];
713
714
714
715
num_alleles = 0 ;
715
- ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , 1 , 1 , 0 );
716
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , NULL , 1 , 1 , 0 );
716
717
CU_ASSERT_EQUAL_FATAL (ret , TSI_ERR_BAD_NUM_ALLELES );
717
718
tree_sequence_builder_free (& tsb );
718
719
719
720
num_alleles = 1 ;
720
- ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , 1 , 1 , 0 );
721
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , NULL , 1 , 1 , 0 );
721
722
CU_ASSERT_EQUAL_FATAL (ret , TSI_ERR_BAD_NUM_ALLELES );
722
723
tree_sequence_builder_free (& tsb );
723
724
724
725
num_alleles = INT8_MAX + 1 ;
725
- ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , 1 , 1 , 0 );
726
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , NULL , 1 , 1 , 0 );
726
727
CU_ASSERT_EQUAL_FATAL (ret , TSI_ERR_BAD_NUM_ALLELES );
727
728
tree_sequence_builder_free (& tsb );
728
729
729
730
num_alleles = 2 ;
730
- ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , 1 , 1 , 0 );
731
+ ancestral_state = -1 ;
732
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , & ancestral_state , 1 , 1 , 0 );
733
+ CU_ASSERT_EQUAL_FATAL (ret , TSI_ERR_BAD_ANCESTRAL_STATE );
734
+ tree_sequence_builder_free (& tsb );
735
+
736
+ ancestral_state = 2 ;
737
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , & ancestral_state , 1 , 1 , 0 );
738
+ CU_ASSERT_EQUAL_FATAL (ret , TSI_ERR_BAD_ANCESTRAL_STATE );
739
+ tree_sequence_builder_free (& tsb );
740
+
741
+ num_alleles = 2 ;
742
+ ret = tree_sequence_builder_alloc (& tsb , 1 , & num_alleles , NULL , 1 , 1 , 0 );
731
743
/* Add two nodes so we can test adding paths */
732
744
ret = tree_sequence_builder_add_node (& tsb , 2.0 , 0 );
733
745
CU_ASSERT_EQUAL_FATAL (ret , 0 );
0 commit comments