Skip to content

Commit 830333c

Browse files
committed
Add tests for StreamExt::all and StreamExt::any
1 parent 32a8717 commit 830333c

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

futures/tests/stream.rs

+40
Original file line numberDiff line numberDiff line change
@@ -552,3 +552,43 @@ fn select_with_strategy_doesnt_terminate_early() {
552552
assert_eq!(count.get(), times_should_poll + 1);
553553
}
554554
}
555+
556+
async fn is_even(number: u8) -> bool {
557+
number % 2 == 0
558+
}
559+
560+
#[test]
561+
fn all() {
562+
block_on(async {
563+
let empty: [u8; 0] = [];
564+
let st = stream::iter(empty);
565+
let all = st.all(is_even).await;
566+
assert!(all);
567+
568+
let st = stream::iter([2, 4, 6, 8]);
569+
let all = st.all(is_even).await;
570+
assert!(all);
571+
572+
let st = stream::iter([2, 3, 4]);
573+
let all = st.all(is_even).await;
574+
assert!(!all);
575+
});
576+
}
577+
578+
#[test]
579+
fn any() {
580+
block_on(async {
581+
let empty: [u8; 0] = [];
582+
let st = stream::iter(empty);
583+
let any = st.any(is_even).await;
584+
assert!(!any);
585+
586+
let st = stream::iter([1, 2, 3]);
587+
let any = st.any(is_even).await;
588+
assert!(any);
589+
590+
let st = stream::iter([1, 3, 5]);
591+
let any = st.any(is_even).await;
592+
assert!(!any);
593+
});
594+
}

0 commit comments

Comments
 (0)