diff options
Diffstat (limited to 'library/core/tests/iter/adapters/enumerate.rs')
-rw-r--r-- | library/core/tests/iter/adapters/enumerate.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/library/core/tests/iter/adapters/enumerate.rs b/library/core/tests/iter/adapters/enumerate.rs index 0e6033878..ff57973a6 100644 --- a/library/core/tests/iter/adapters/enumerate.rs +++ b/library/core/tests/iter/adapters/enumerate.rs @@ -1,4 +1,5 @@ use core::iter::*; +use core::num::NonZeroUsize; #[test] fn test_iterator_enumerate() { @@ -56,6 +57,20 @@ fn test_iterator_enumerate_count() { } #[test] +fn test_iterator_enumerate_advance_by() { + let xs = [0, 1, 2, 3, 4, 5]; + let mut it = xs.iter().enumerate(); + assert_eq!(it.advance_by(0), Ok(())); + assert_eq!(it.next(), Some((0, &0))); + assert_eq!(it.advance_by(1), Ok(())); + assert_eq!(it.next(), Some((2, &2))); + assert_eq!(it.advance_by(2), Ok(())); + assert_eq!(it.next(), Some((5, &5))); + assert_eq!(it.advance_by(1), Err(NonZeroUsize::new(1).unwrap())); + assert_eq!(it.next(), None); +} + +#[test] fn test_iterator_enumerate_fold() { let xs = [0, 1, 2, 3, 4, 5]; let mut it = xs.iter().enumerate(); |