Skip to content

Commit

Permalink
Allow char iter tests to run on rusts before 1.45
Browse files Browse the repository at this point in the history
  • Loading branch information
CAD97 committed Jun 18, 2020
1 parent 4c99c56 commit 56ef498
Showing 1 changed file with 25 additions and 15 deletions.
40 changes: 25 additions & 15 deletions tests/chars.rs
Original file line number Diff line number Diff line change
@@ -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<char> = range.clone().collect();
let par_iter: HashSet<char> = range.into_par_iter().collect();

assert_eq!(std_iter, par_iter);
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 - 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<char> = range.clone().collect();
let par_iter: HashSet<char> = range.into_par_iter().collect();

assert_eq!(std_iter, par_iter);
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}',
]
);
}

0 comments on commit 56ef498

Please sign in to comment.