about summary refs log tree commit diff
path: root/src/libcollections
diff options
context:
space:
mode:
authorDan Schatzberg <schatzberg.dan@gmail.com>2014-10-02 11:19:47 -0400
committerDan Schatzberg <schatzberg.dan@gmail.com>2014-10-02 11:23:06 -0400
commit0c63a4a4f58fe8f7e989fa431af860ce00ea0980 (patch)
tree8f6664caba0b594f1bc62f466770df199dc6ce63 /src/libcollections
parentf14cb96b07517b5638bf966e6f6e30b946552912 (diff)
downloadrust-0c63a4a4f58fe8f7e989fa431af860ce00ea0980.tar.gz
rust-0c63a4a4f58fe8f7e989fa431af860ce00ea0980.zip
Add tests for MoveItems
Diffstat (limited to 'src/libcollections')
-rw-r--r--src/libcollections/vec.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs
index b3a3609bdce..9c3842dfd9c 100644
--- a/src/libcollections/vec.rs
+++ b/src/libcollections/vec.rs
@@ -2565,6 +2565,39 @@ mod tests {
         assert_eq!(v.map_in_place(|_| ZeroSized).as_slice(), [ZeroSized, ZeroSized].as_slice());
     }
 
+    #[test]
+    fn test_move_items() {
+        let mut vec = vec!(1i, 2, 3);
+        let mut vec2 : Vec<int> = vec!();
+        for i in vec.move_iter() {
+            vec2.push(i);
+        }
+        assert!(vec2 == vec!(1i, 2, 3));
+        assert!(vec.empty());
+    }
+
+    #[test]
+    fn test_move_items_reverse() {
+        let mut vec = vec!(1i, 2, 3);
+        let mut vec2 : Vec<int> = vec!();
+        for i in vec.move_iter().rev() {
+            vec2.push(i);
+        }
+        assert!(vec2 == vec!(3i, 2, 1));
+        assert!(vec.empty());
+    }
+
+    #[test]
+    fn test_move_items_zero_sized() {
+        let mut vec = vec!((), (), ());
+        let mut vec2 : Vec<()> = vec!();
+        for i in vec.move_iter() {
+            vec2.push(i);
+        }
+        assert!(vec2 == vec!((), (), ()));
+        assert!(vec.empty());
+    }
+
     #[bench]
     fn bench_new(b: &mut Bencher) {
         b.iter(|| {