Skip to content

Commit 44b4d71

Browse files
test_peek_nth_next_if
Same as `test_peek_nth_peeking_next` (copied/pasted/updated) but with `next_if[_eq]` instead of using `peeking_next` from our `itertools::PeekingNext` trait.
1 parent d3f4886 commit 44b4d71

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/test_std.rs

+29
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,35 @@ fn test_peek_nth_peeking_next() {
738738
assert_eq!(iter.peek(), None);
739739
}
740740

741+
#[test]
742+
fn test_peek_nth_next_if() {
743+
let nums = vec![1u8, 2, 3, 4, 5, 6, 7];
744+
let mut iter = peek_nth(nums.iter().copied());
745+
746+
assert_eq!(iter.next_if(|&x| x != 0), Some(1));
747+
assert_eq!(iter.next(), Some(2));
748+
749+
assert_eq!(iter.peek_nth(0), Some(&3));
750+
assert_eq!(iter.peek_nth(1), Some(&4));
751+
assert_eq!(iter.next_if_eq(&3), Some(3));
752+
assert_eq!(iter.peek(), Some(&4));
753+
754+
assert_eq!(iter.next_if(|&x| x != 4), None);
755+
assert_eq!(iter.next_if_eq(&4), Some(4));
756+
assert_eq!(iter.peek_nth(0), Some(&5));
757+
assert_eq!(iter.peek_nth(1), Some(&6));
758+
759+
assert_eq!(iter.next_if(|&x| x != 5), None);
760+
assert_eq!(iter.peek(), Some(&5));
761+
762+
assert_eq!(iter.next_if(|&x| x % 2 == 1), Some(5));
763+
assert_eq!(iter.next_if_eq(&6), Some(6));
764+
assert_eq!(iter.peek_nth(0), Some(&7));
765+
assert_eq!(iter.peek_nth(1), None);
766+
assert_eq!(iter.next(), Some(7));
767+
assert_eq!(iter.peek(), None);
768+
}
769+
741770
#[test]
742771
fn pad_using() {
743772
it::assert_equal((0..0).pad_using(1, |_| 1), 1..2);

0 commit comments

Comments
 (0)