Skip to content

Commit 11fefeb

Browse files
committed
Add a Zip::nth test for side effects
1 parent 70d5a46 commit 11fefeb

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/libcore/tests/iter.rs

+20
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,26 @@ fn test_zip_nth() {
161161
assert_eq!(it.nth(3), None);
162162
}
163163

164+
#[test]
165+
fn test_zip_nth_side_effects() {
166+
let mut a = Vec::new();
167+
let mut b = Vec::new();
168+
let value = [1, 2, 3, 4, 5, 6].iter().cloned()
169+
.map(|n| {
170+
a.push(n);
171+
n * 10
172+
})
173+
.zip([2, 3, 4, 5, 6, 7, 8].iter().cloned().map(|n| {
174+
b.push(n * 100);
175+
n * 1000
176+
}))
177+
.skip(1)
178+
.nth(3);
179+
assert_eq!(value, Some((50, 6000)));
180+
assert_eq!(a, vec![1, 2, 3, 4, 5]);
181+
assert_eq!(b, vec![200, 300, 400, 500, 600]);
182+
}
183+
164184
#[test]
165185
fn test_iterator_step_by() {
166186
// Identity

0 commit comments

Comments
 (0)