From 0c63a4a4f58fe8f7e989fa431af860ce00ea0980 Mon Sep 17 00:00:00 2001 From: Dan Schatzberg Date: Thu, 2 Oct 2014 11:19:47 -0400 Subject: [PATCH] Add tests for MoveItems --- src/libcollections/vec.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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 = 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 = 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(|| {