aboutsummaryrefslogtreecommitdiff
path: root/tests/chars.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/chars.rs')
-rw-r--r--tests/chars.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/chars.rs b/tests/chars.rs
new file mode 100644
index 0000000..ac8e3f3
--- /dev/null
+++ b/tests/chars.rs
@@ -0,0 +1,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}',
+ ]
+ );
+}