Skip to content

Commit 7581e31

Browse files
committed
we need stuff to be pub
1 parent 8c4a050 commit 7581e31

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
fn make_treeseq() -> tskit::TreeSequence {
2+
let mut tables = tskit::TableCollection::new(1000.).unwrap();
3+
tables
4+
.add_node(0, 2.0, tskit::PopulationId::NULL, tskit::IndividualId::NULL)
5+
.unwrap();
6+
tables
7+
.add_node(0, 1.0, tskit::PopulationId::NULL, tskit::IndividualId::NULL)
8+
.unwrap();
9+
tables
10+
.add_node(
11+
tskit::NodeFlags::new_sample(),
12+
0.0,
13+
tskit::PopulationId::NULL,
14+
tskit::IndividualId::NULL,
15+
)
16+
.unwrap();
17+
tables
18+
.add_node(
19+
tskit::NodeFlags::new_sample(),
20+
0.0,
21+
tskit::PopulationId::NULL,
22+
tskit::IndividualId::NULL,
23+
)
24+
.unwrap();
25+
tables
26+
.add_node(
27+
tskit::NodeFlags::new_sample(),
28+
0.0,
29+
tskit::PopulationId::NULL,
30+
tskit::IndividualId::NULL,
31+
)
32+
.unwrap();
33+
tables
34+
.add_node(
35+
tskit::NodeFlags::new_sample(),
36+
0.0,
37+
tskit::PopulationId::NULL,
38+
tskit::IndividualId::NULL,
39+
)
40+
.unwrap();
41+
tables.add_edge(500., 1000., 0, 1).unwrap();
42+
tables.add_edge(0., 500., 0, 2).unwrap();
43+
tables.add_edge(0., 1000., 0, 3).unwrap();
44+
tables.add_edge(500., 1000., 1, 2).unwrap();
45+
tables.add_edge(0., 1000., 1, 4).unwrap();
46+
tables.add_edge(0., 1000., 1, 5).unwrap();
47+
48+
tables
49+
.full_sort(tskit::TableSortOptions::default())
50+
.unwrap();
51+
52+
tables.build_index().unwrap();
53+
54+
tables
55+
.tree_sequence(tskit::TreeSequenceFlags::default())
56+
.unwrap()
57+
}
58+
59+
#[test]
60+
fn test_collect_edge_diff_iterators() {
61+
let ts = make_treeseq();
62+
63+
let diffs = ts.edge_differences_iter().collect::<Vec<_>>();
64+
65+
for (di, dj) in diffs.iter().zip(ts.edge_differences_iter()) {
66+
for (ri, rj) in di.removals().zip(dj.removals()) {
67+
assert_eq!(ri.parent(), rj.parent());
68+
assert_eq!(ri.child(), rj.child());
69+
assert_eq!(ri.left(), rj.left());
70+
assert_eq!(ri.right(), rj.right());
71+
}
72+
}
73+
74+
let removals = diffs.iter().map(|i| i.removals()).collect::<Vec<_>>();
75+
let insertions = diffs.iter().map(|i| i.insertions()).collect::<Vec<_>>();
76+
77+
let removal_order = ts.edge_removal_order();
78+
}

0 commit comments

Comments
 (0)