use itertools::Itertools;
use itertools::{put_back, put_back_n};
#[ test]
fn peeking_take_while_peekable() {
let mut r = (0 ..10 ).peekable();
r.peeking_take_while(|x| *x <= 3 ).count();
assert_eq!(r.next(), Some(4 ));
}
#[ test]
fn peeking_take_while_put_back() {
let mut r = put_back(0 ..10 );
r.peeking_take_while(|x| *x <= 3 ).count();
assert_eq!(r.next(), Some(4 ));
r.peeking_take_while(|_| true ).count();
assert_eq!(r.next(), None);
}
#[ test]
fn peeking_take_while_put_back_n() {
let mut r = put_back_n(6 ..10 );
for elt in (0 ..6 ).rev() {
r.put_back(elt);
}
r.peeking_take_while(|x| *x <= 3 ).count();
assert_eq!(r.next(), Some(4 ));
r.peeking_take_while(|_| true ).count();
assert_eq!(r.next(), None);
}
#[ test]
fn peeking_take_while_slice_iter() {
let v = [1 , 2 , 3 , 4 , 5 , 6 ];
let mut r = v.iter();
r.peeking_take_while(|x| **x <= 3 ).count();
assert_eq!(r.next(), Some(&4 ));
r.peeking_take_while(|_| true ).count();
assert_eq!(r.next(), None);
}
#[ test]
fn peeking_take_while_slice_iter_rev() {
let v = [1 , 2 , 3 , 4 , 5 , 6 ];
let mut r = v.iter().rev();
r.peeking_take_while(|x| **x >= 3 ).count();
assert_eq!(r.next(), Some(&2 ));
r.peeking_take_while(|_| true ).count();
assert_eq!(r.next(), None);
}
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-06-20)
¤
*© Formatika GbR, Deutschland