From ffe2623e47d9c5a5914865a9556cb1298ca00058 Mon Sep 17 00:00:00 2001 From: blake2-ppc Date: Thu, 18 Jul 2013 17:34:28 +0200 Subject: [PATCH] iterator: Add test for .cycle() --- src/libstd/iterator.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs index ce1c1d585d1..198e63f83c6 100644 --- a/src/libstd/iterator.rs +++ b/src/libstd/iterator.rs @@ -1494,6 +1494,20 @@ mod tests { assert_eq!(i, 10); } + #[test] + fn test_cycle() { + let cycle_len = 3; + let it = Counter::new(0u,1).take_(cycle_len).cycle(); + assert_eq!(it.size_hint(), (uint::max_value, None)); + for it.take_(100).enumerate().advance |(i, x)| { + assert_eq!(i % cycle_len, x); + } + + let mut it = Counter::new(0u,1).take_(0).cycle(); + assert_eq!(it.size_hint(), (0, Some(0))); + assert_eq!(it.next(), None); + } + #[test] fn test_iterator_nth() { let v = &[0, 1, 2, 3, 4];