1 use rayon::prelude::*;
2
3 #[test]
half_open_correctness()4 fn half_open_correctness() {
5 let low = char::from_u32(0xD800 - 0x7).unwrap();
6 let high = char::from_u32(0xE000 + 0x7).unwrap();
7
8 let range = low..high;
9 let mut chars: Vec<char> = range.into_par_iter().collect();
10 chars.sort();
11
12 assert_eq!(
13 chars,
14 vec![
15 '\u{D7F9}', '\u{D7FA}', '\u{D7FB}', '\u{D7FC}', '\u{D7FD}', '\u{D7FE}', '\u{D7FF}',
16 '\u{E000}', '\u{E001}', '\u{E002}', '\u{E003}', '\u{E004}', '\u{E005}', '\u{E006}',
17 ]
18 );
19 }
20
21 #[test]
closed_correctness()22 fn closed_correctness() {
23 let low = char::from_u32(0xD800 - 0x7).unwrap();
24 let high = char::from_u32(0xE000 + 0x7).unwrap();
25
26 let range = low..=high;
27 let mut chars: Vec<char> = range.into_par_iter().collect();
28 chars.sort();
29
30 assert_eq!(
31 chars,
32 vec![
33 '\u{D7F9}', '\u{D7FA}', '\u{D7FB}', '\u{D7FC}', '\u{D7FD}', '\u{D7FE}', '\u{D7FF}',
34 '\u{E000}', '\u{E001}', '\u{E002}', '\u{E003}', '\u{E004}', '\u{E005}', '\u{E006}',
35 '\u{E007}',
36 ]
37 );
38 }
39