Skip to content

Commit 6ba4454

Browse files
committed
yay
1 parent 428ab2a commit 6ba4454

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

tests/test_edge_difference_iteration.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,19 +71,21 @@ fn test_collect_edge_diff_iterators() {
7171
}
7272
}
7373

74-
let removals = {
75-
let mut r = vec![];
76-
for d in diffs.iter() {
77-
for di in d.removals() {
78-
r.push(di);
79-
}
80-
}
81-
r
82-
};
74+
let removals = diffs.iter().flat_map(|d| d.removals()).collect::<Vec<_>>();
8375
let insertions = diffs.iter().map(|i| i.insertions()).collect::<Vec<_>>();
8476

8577
let removal_order = ts.edge_removal_order();
86-
assert_eq!(removals.len(), removal_order.len());
78+
// Removals have some nuance:
79+
// The "standard" loop ends when all IMSERTIONS havee
80+
// been processed, which means that all edges
81+
// leaving the tree at the "sequence length" are never visited.
82+
let num_removals_not_at_end = removal_order
83+
.iter()
84+
.filter(|r| {
85+
ts.tables().edges().right_column()[r.as_usize()] != ts.tables().sequence_length()
86+
})
87+
.count();
88+
assert_eq!(removals.len(), num_removals_not_at_end);
8789

8890
for (i, j) in removals.iter().zip(removal_order.iter()) {
8991
assert_eq!(

0 commit comments

Comments
 (0)