From 60ccc7cce14f05aaa39a8e449bca8cb5ac6b1bc0 Mon Sep 17 00:00:00 2001 From: logaritmisk Date: Fri, 5 Jan 2018 20:57:22 +0100 Subject: [PATCH] Added some more test cases for into_iter. --- src/lib.rs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index ddf0fb3..1502bad 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,7 @@ extern crate unreachable; use std::ops; -use std::iter::{Iterator, IntoIterator, FromIterator}; +use std::iter::{FromIterator, IntoIterator, Iterator}; use std::default::Default; use std::collections::HashMap; @@ -134,11 +134,15 @@ impl BitSet { } pub fn iter(&self) -> Iter { - Iter { iter: self.blocks.iter(), block: 0, bits: 0, bit: BITS } + Iter { + iter: self.blocks.iter(), + block: 0, + bits: 0, + bit: BITS, + } } } - pub struct Iter<'a> { iter: std::collections::hash_map::Iter<'a, u64, u64>, block: u64, @@ -227,7 +231,12 @@ impl IntoIterator for BitSet { type IntoIter = IntoIter; fn into_iter(self) -> IntoIter { - IntoIter { iter: self.blocks.into_iter(), block: 0, bits: 0, bit: BITS } + IntoIter { + iter: self.blocks.into_iter(), + block: 0, + bits: 0, + bit: BITS, + } } } @@ -396,12 +405,16 @@ mod tests { #[test] fn into_iter() { - let set = [1, 2, 3].iter().cloned().collect::(); + let set = [1, 2, 3, 65, 66, 129, 130].iter().cloned().collect::(); let mut iter = set.into_iter(); assert_eq!(Some(1), iter.next()); assert_eq!(Some(2), iter.next()); assert_eq!(Some(3), iter.next()); + assert_eq!(Some(65), iter.next()); + assert_eq!(Some(66), iter.next()); + assert_eq!(Some(129), iter.next()); + assert_eq!(Some(130), iter.next()); assert_eq!(None, iter.next()); assert_eq!(None, iter.next()); }