summaryrefslogtreecommitdiffstats
path: root/third_party/rust/rayon/tests/chars.rs
blob: ac8e3f30463fbe71c79a232bc24af6167087bd71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use rayon::prelude::*;
use std::char;

#[test]
fn half_open_correctness() {
    let low = char::from_u32(0xD800 - 0x7).unwrap();
    let high = char::from_u32(0xE000 + 0x7).unwrap();

    let range = low..high;
    let mut chars: Vec<char> = range.into_par_iter().collect();
    chars.sort();

    assert_eq!(
        chars,
        vec![
            '\u{D7F9}', '\u{D7FA}', '\u{D7FB}', '\u{D7FC}', '\u{D7FD}', '\u{D7FE}', '\u{D7FF}',
            '\u{E000}', '\u{E001}', '\u{E002}', '\u{E003}', '\u{E004}', '\u{E005}', '\u{E006}',
        ]
    );
}

#[test]
fn closed_correctness() {
    let low = char::from_u32(0xD800 - 0x7).unwrap();
    let high = char::from_u32(0xE000 + 0x7).unwrap();

    let range = low..=high;
    let mut chars: Vec<char> = range.into_par_iter().collect();
    chars.sort();

    assert_eq!(
        chars,
        vec![
            '\u{D7F9}', '\u{D7FA}', '\u{D7FB}', '\u{D7FC}', '\u{D7FD}', '\u{D7FE}', '\u{D7FF}',
            '\u{E000}', '\u{E001}', '\u{E002}', '\u{E003}', '\u{E004}', '\u{E005}', '\u{E006}',
            '\u{E007}',
        ]
    );
}