@@ -8,6 +8,7 @@ use crate::it::izip;
8
8
use crate :: it:: multipeek;
9
9
use crate :: it:: multizip;
10
10
use crate :: it:: peek_nth;
11
+ use crate :: it:: repeat_n;
11
12
use crate :: it:: ExactlyOneError ;
12
13
use crate :: it:: FoldWhile ;
13
14
use crate :: it:: Itertools ;
@@ -674,6 +675,21 @@ fn test_multipeek_peeking_next() {
674
675
assert_eq ! ( mp. peek( ) , None ) ;
675
676
}
676
677
678
+ #[ test]
679
+ fn test_repeat_n_peeking_next ( ) {
680
+ use crate :: it:: PeekingNext ;
681
+ let mut rn = repeat_n ( 0 , 5 ) ;
682
+ assert_eq ! ( rn. peeking_next( |& x| x != 0 ) , None ) ;
683
+ assert_eq ! ( rn. peeking_next( |& x| x <= 0 ) , Some ( 0 ) ) ;
684
+ assert_eq ! ( rn. next( ) , Some ( 0 ) ) ;
685
+ assert_eq ! ( rn. peeking_next( |& x| x <= 0 ) , Some ( 0 ) ) ;
686
+ assert_eq ! ( rn. peeking_next( |& x| x != 0 ) , None ) ;
687
+ assert_eq ! ( rn. peeking_next( |& x| x >= 0 ) , Some ( 0 ) ) ;
688
+ assert_eq ! ( rn. next( ) , Some ( 0 ) ) ;
689
+ assert_eq ! ( rn. peeking_next( |& x| x <= 0 ) , None ) ;
690
+ assert_eq ! ( rn. next( ) , None ) ;
691
+ }
692
+
677
693
#[ test]
678
694
fn test_peek_nth ( ) {
679
695
let nums = vec ! [ 1u8 , 2 , 3 , 4 , 5 ] ;
0 commit comments