diff --git a/tests/chars.rs b/tests/chars.rs index dd26ee028..ac8e3f304 100644 --- a/tests/chars.rs +++ b/tests/chars.rs @@ -1,29 +1,39 @@ use rayon::prelude::*; use std::char; -use std::collections::HashSet; #[test] fn half_open_correctness() { - let low = char::from_u32(0xD800 - 10).unwrap(); - let high = char::from_u32(0xE000 + 10).unwrap(); + let low = char::from_u32(0xD800 - 0x7).unwrap(); + let high = char::from_u32(0xE000 + 0x7).unwrap(); let range = low..high; - - let std_iter: HashSet = range.clone().collect(); - let par_iter: HashSet = range.into_par_iter().collect(); - - assert_eq!(std_iter, par_iter); + let mut chars: Vec = 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 - 10).unwrap(); - let high = char::from_u32(0xE000 + 10).unwrap(); + let low = char::from_u32(0xD800 - 0x7).unwrap(); + let high = char::from_u32(0xE000 + 0x7).unwrap(); let range = low..=high; - - let std_iter: HashSet = range.clone().collect(); - let par_iter: HashSet = range.into_par_iter().collect(); - - assert_eq!(std_iter, par_iter); + let mut chars: Vec = 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}', + ] + ); }