Skip to content

Commit 8f14e16

Browse files
committed
chore: add another case to the bvh unit test
1 parent d4c5c75 commit 8f14e16

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

src/partitioning/bvh/bvh_tests.rs

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -56,34 +56,41 @@ fn bvh_build_and_removal() {
5656
}
5757
};
5858

59-
bvh.assert_well_formed();
59+
for _ in 0..3 {
60+
bvh.assert_well_formed();
6061

61-
match removal_pattern {
62-
RemovalPattern::InOrder => {
63-
// Remove in insertion order.
64-
for i in 0..len {
65-
bvh.remove(i as u32);
66-
bvh.assert_well_formed();
67-
}
68-
}
69-
RemovalPattern::RevOrder => {
70-
// Remove in reverse insertion order.
71-
for i in (0..len).rev() {
72-
bvh.remove(i as u32);
73-
bvh.assert_well_formed();
62+
match removal_pattern {
63+
RemovalPattern::InOrder => {
64+
// Remove in insertion order.
65+
for i in 0..len {
66+
bvh.remove(i as u32);
67+
bvh.assert_well_formed();
68+
}
7469
}
75-
}
76-
RemovalPattern::EvenOdd => {
77-
// Remove even indices first, then odd.
78-
for i in (0..len).filter(|i| i % 2 == 0) {
79-
bvh.remove(i as u32);
80-
bvh.assert_well_formed();
70+
RemovalPattern::RevOrder => {
71+
// Remove in reverse insertion order.
72+
for i in (0..len).rev() {
73+
bvh.remove(i as u32);
74+
bvh.assert_well_formed();
75+
}
8176
}
82-
for i in (0..len).filter(|i| i % 2 != 0) {
83-
bvh.remove(i as u32);
84-
bvh.assert_well_formed();
77+
RemovalPattern::EvenOdd => {
78+
// Remove even indices first, then odd.
79+
for i in (0..len).filter(|i| i % 2 == 0) {
80+
bvh.remove(i as u32);
81+
bvh.assert_well_formed();
82+
}
83+
for i in (0..len).filter(|i| i % 2 != 0) {
84+
bvh.remove(i as u32);
85+
bvh.assert_well_formed();
86+
}
8587
}
8688
}
89+
90+
// Re-insert everything.
91+
for (i, leaf) in leaves.iter().enumerate() {
92+
bvh.insert(*leaf, i as u32);
93+
}
8794
}
8895
}
8996
}

0 commit comments

Comments
 (0)