use super::*; impl ThinVec { fn into_vec(self) -> Vec { self.into() } } #[test] fn test_from_iterator() { assert_eq!(std::iter::empty().collect::>().into_vec(), Vec::::new()); assert_eq!(std::iter::once(42).collect::>().into_vec(), vec![42]); assert_eq!([1, 2].into_iter().collect::>().into_vec(), vec![1, 2]); assert_eq!([1, 2, 3].into_iter().collect::>().into_vec(), vec![1, 2, 3]); } #[test] fn test_into_iterator_owned() { assert_eq!(ThinVec::new().into_iter().collect::>(), Vec::::new()); assert_eq!(ThinVec::from(vec![1]).into_iter().collect::>(), vec![1]); assert_eq!(ThinVec::from(vec![1, 2]).into_iter().collect::>(), vec![1, 2]); assert_eq!(ThinVec::from(vec![1, 2, 3]).into_iter().collect::>(), vec![1, 2, 3]); } #[test] fn test_into_iterator_ref() { assert_eq!(ThinVec::new().iter().collect::>(), Vec::<&String>::new()); assert_eq!(ThinVec::from(vec![1]).iter().collect::>(), vec![&1]); assert_eq!(ThinVec::from(vec![1, 2]).iter().collect::>(), vec![&1, &2]); assert_eq!(ThinVec::from(vec![1, 2, 3]).iter().collect::>(), vec![&1, &2, &3]); } #[test] fn test_into_iterator_ref_mut() { assert_eq!(ThinVec::new().iter_mut().collect::>(), Vec::<&mut String>::new()); assert_eq!(ThinVec::from(vec![1]).iter_mut().collect::>(), vec![&mut 1]); assert_eq!(ThinVec::from(vec![1, 2]).iter_mut().collect::>(), vec![&mut 1, &mut 2]); assert_eq!( ThinVec::from(vec![1, 2, 3]).iter_mut().collect::>(), vec![&mut 1, &mut 2, &mut 3], ); }