Skip to content

Commit e7955b2

Browse files
author
blake2-ppc
committed
std::iterator: Add tests for .next_back() on Zip and Enumerate
1 parent ed607dd commit e7955b2

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/libstd/iterator.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2273,6 +2273,33 @@ mod tests {
22732273
assert_eq!(it.next(), None);
22742274
}
22752275

2276+
#[test]
2277+
fn test_double_ended_enumerate() {
2278+
let xs = [1, 2, 3, 4, 5, 6];
2279+
let mut it = xs.iter().map(|&x| x).enumerate();
2280+
assert_eq!(it.next(), Some((0, 1)));
2281+
assert_eq!(it.next(), Some((1, 2)));
2282+
assert_eq!(it.next_back(), Some((5, 6)));
2283+
assert_eq!(it.next_back(), Some((4, 5)));
2284+
assert_eq!(it.next_back(), Some((3, 4)));
2285+
assert_eq!(it.next_back(), Some((2, 3)));
2286+
assert_eq!(it.next(), None);
2287+
}
2288+
2289+
#[test]
2290+
fn test_double_ended_zip() {
2291+
let xs = [1, 2, 3, 4, 5, 6];
2292+
let ys = [1, 2, 3, 7];
2293+
let a = xs.iter().map(|&x| x);
2294+
let b = ys.iter().map(|&x| x);
2295+
let mut it = a.zip(b);
2296+
assert_eq!(it.next(), Some((1, 1)));
2297+
assert_eq!(it.next(), Some((2, 2)));
2298+
assert_eq!(it.next_back(), Some((4, 7)));
2299+
assert_eq!(it.next_back(), Some((3, 3)));
2300+
assert_eq!(it.next(), None);
2301+
}
2302+
22762303
#[test]
22772304
fn test_double_ended_filter() {
22782305
let xs = [1, 2, 3, 4, 5, 6];

0 commit comments

Comments
 (0)