From d74dfcc5cca77972b65bcc90ededc858866d5a66 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 19 May 2015 16:44:52 +0200 Subject: [PATCH] Tests --- src/lib.rs | 36 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 42f0454..ca513b7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -15,16 +15,6 @@ enum Flag { _Unused, } -#[derive(Debug)] -struct Dud(i32); - -impl Drop for Dud { - fn drop(&mut self) { - let Dud(ref i) = *self; - println!("Drop Dud({})", *i); - } -} - /// Trait for fixed size arrays. pub unsafe trait Array { #[doc(hidden)] @@ -328,15 +318,22 @@ impl Drop for IntoIter { #[test] fn test1() { + use std::ops::Add; + let mut vec: ArrayVec<[Vec; 3]> = ArrayVec::new(); - vec.push(vec![1,2,4,5]); + vec.push(vec![1,2,3,4]); vec.push(vec![3]); - vec.push(vec![97,98,92]); + vec.push(vec![-1, 90, -2]); - for elt in vec { + for elt in &vec { println!("{:?}", elt); } + + let sum = vec.iter().map(|x| x.iter().fold(0, Add::add)).fold(0, Add::add); + assert_eq!(sum, 13 + 87); + let sum_len = vec.into_iter().map(|x| x.len()).fold(0, Add::add); + assert_eq!(sum_len, 8); } fn main() { @@ -367,19 +364,6 @@ fn main() { println!("{:?}", u[0]); - let mut v: ArrayVec<[Dud; 2]> = ArrayVec::new(); - v.push(Dud(1)); - v.push(Dud(2)); - v.pop(); - v.pop(); - v.pop(); - v.push(Dud(3)); - v.pop(); - v.push(Dud(4)); - v.push(Dud(5)); - v.push(Dud(6)); - //v.pop(); - println!("v: {:?}", &*v); for elt in &v { // slice iter