@@ -464,55 +464,52 @@ mod keep_intervals {
464
464
use super :: simulation:: simulate_two_treesequences;
465
465
466
466
#[ test]
467
- fn test_keep_intervals ( ) {
468
- // tests for invalid intervals
467
+ fn test_keep_intervals_invalid_input ( ) {
469
468
let intervals_lst = vec ! [
470
469
vec![ ( 20.0 , 10.0 ) ] , // out of order
471
470
vec![ ( 10.0 , 20.0 ) , ( 19.0 , 30.0 ) ] , // overlapping intervals
472
471
] ;
473
472
for intervals in intervals_lst {
473
+ // an empty tablecollection is enough here
474
474
let mut tables = TableCollection :: new ( 100.0 ) . unwrap ( ) ;
475
475
tables. build_index ( ) . unwrap ( ) ;
476
- let opts = TreeSequenceFlags :: default ( ) ;
477
- let trees = TreeSequence :: new ( tables, opts ) . unwrap ( ) ;
476
+ let flags = TreeSequenceFlags :: default ( ) ;
477
+ let trees = TreeSequence :: new ( tables, flags ) . unwrap ( ) ;
478
478
let res = trees. keep_intervals ( intervals. into_iter ( ) , true ) ;
479
479
assert ! ( res. is_err( ) ) ;
480
480
}
481
+ }
481
482
482
- // tests for valid intervals
483
+ #[ test]
484
+ fn test_keep_intervals ( ) {
485
+ let seqlen = 1000.0 ;
483
486
let intervals_lst = vec ! [
484
- vec![ ( 1001 .0, 1002 .0) ] , // out of range: > seqlen
487
+ vec![ ( seqlen + 1 .0, seqlen + 2 .0) ] , // out of range: > seqlen
485
488
vec![ ( 10.0 , 20.0 ) , ( 700.0 , 850.0 ) ] , // multiple intervals
486
489
vec![ ( 10.0 , 20.0 ) ] , // single intervals
487
490
] ;
488
- let seqlen = 1000.0 ;
489
491
let popsize = 50 ;
490
- let total_generations = 300 ;
491
- let popsplit_time = 20 ;
492
+ let total_time = 300 ;
493
+ let split_time = 20 ;
492
494
493
495
for intervals in intervals_lst {
494
496
for seed in [ 123 , 3224 ] {
495
497
let ( full_trees, exepected) = simulate_two_treesequences (
496
- seqlen,
497
- popsize,
498
- total_generations,
499
- popsplit_time,
500
- & intervals,
501
- seed,
498
+ seqlen, popsize, total_time, split_time, & intervals, seed,
502
499
)
503
500
. unwrap ( ) ;
504
501
505
502
if exepected. edges ( ) . num_rows ( ) > 0 {
506
- let trucated = full_trees
503
+ let truncated = full_trees
507
504
. keep_intervals ( intervals. iter ( ) . copied ( ) , true )
508
505
. expect ( "error" )
509
506
. expect ( "empty table" ) ;
510
507
511
- let res = trucated. dump_tables ( ) . unwrap ( ) . equals (
512
- & exepected. dump_tables ( ) . unwrap ( ) ,
513
- TableEqualityOptions :: all ( ) ,
514
- ) ;
508
+ // dump tables for comparision
509
+ let truncated = truncated. dump_tables ( ) . unwrap ( ) ;
510
+ let expected = exepected. dump_tables ( ) . unwrap ( ) ;
515
511
512
+ let res = truncated. equals ( & expected, TableEqualityOptions :: all ( ) ) ;
516
513
assert ! ( res) ;
517
514
} else {
518
515
let trucated = full_trees
0 commit comments