about summary refs log tree commit diff
diff options
context:
space:
mode:
authorblake2-ppc <blake2-ppc>2013-08-30 20:00:11 +0200
committerblake2-ppc <blake2-ppc>2013-08-30 20:06:26 +0200
commite7955b2a7d880ecf2de30e5bc3a452bea0db4fd4 (patch)
treeab702cab0418e49159eea21a0ae1a09d4a298f31
parented607dd24aa1e041e4077b356e6bfa88c56b7fcf (diff)
downloadrust-e7955b2a7d880ecf2de30e5bc3a452bea0db4fd4.tar.gz
rust-e7955b2a7d880ecf2de30e5bc3a452bea0db4fd4.zip
std::iterator: Add tests for .next_back() on Zip and Enumerate
-rw-r--r--src/libstd/iterator.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs
index 58ebb35846d..e2ac9f03395 100644
--- a/src/libstd/iterator.rs
+++ b/src/libstd/iterator.rs
@@ -2274,6 +2274,33 @@ mod tests {
     }
 
     #[test]
+    fn test_double_ended_enumerate() {
+        let xs = [1, 2, 3, 4, 5, 6];
+        let mut it = xs.iter().map(|&x| x).enumerate();
+        assert_eq!(it.next(), Some((0, 1)));
+        assert_eq!(it.next(), Some((1, 2)));
+        assert_eq!(it.next_back(), Some((5, 6)));
+        assert_eq!(it.next_back(), Some((4, 5)));
+        assert_eq!(it.next_back(), Some((3, 4)));
+        assert_eq!(it.next_back(), Some((2, 3)));
+        assert_eq!(it.next(), None);
+    }
+
+    #[test]
+    fn test_double_ended_zip() {
+        let xs = [1, 2, 3, 4, 5, 6];
+        let ys = [1, 2, 3, 7];
+        let a = xs.iter().map(|&x| x);
+        let b = ys.iter().map(|&x| x);
+        let mut it = a.zip(b);
+        assert_eq!(it.next(), Some((1, 1)));
+        assert_eq!(it.next(), Some((2, 2)));
+        assert_eq!(it.next_back(), Some((4, 7)));
+        assert_eq!(it.next_back(), Some((3, 3)));
+        assert_eq!(it.next(), None);
+    }
+
+    #[test]
     fn test_double_ended_filter() {
         let xs = [1, 2, 3, 4, 5, 6];
         let mut it = xs.iter().filter(|&x| *x & 1 == 0);