pub fn is_non_ascii(c: char) -> bool {
return c as u32 > 127
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_ascii_characters() {
assert_eq!(is_non_ascii('a'), false);
assert_eq!(is_non_ascii('Z'), false);
assert_eq!(is_non_ascii('0'), false);
assert_eq!(is_non_ascii('9'), false);
assert_eq!(is_non_ascii(' '), false);
assert_eq!(is_non_ascii('!'), false);
assert_eq!(is_non_ascii('@'), false);
assert_eq!(is_non_ascii('~'), false);
assert_eq!(is_non_ascii('\0'), false); assert_eq!(is_non_ascii('\n'), false); assert_eq!(is_non_ascii('\r'), false); assert_eq!(is_non_ascii('\t'), false); }
#[test]
fn test_boundary_characters() {
assert_eq!(is_non_ascii('\x7F'), false);
assert_eq!(is_non_ascii('\u{0080}'), true); }
#[test]
fn test_non_ascii_characters() {
assert_eq!(is_non_ascii('à'), true); assert_eq!(is_non_ascii('ñ'), true); assert_eq!(is_non_ascii('ü'), true);
assert_eq!(is_non_ascii('π'), true); assert_eq!(is_non_ascii('中'), true); assert_eq!(is_non_ascii('🦀'), true); assert_eq!(is_non_ascii('א'), true); assert_eq!(is_non_ascii('🌟'), true);
assert_eq!(is_non_ascii('€'), true); assert_eq!(is_non_ascii('©'), true); }
#[test]
fn test_edge_cases() {
assert_eq!(is_non_ascii('\u{0081}'), true); assert_eq!(is_non_ascii('\u{00A0}'), true); assert_eq!(is_non_ascii('\u{00FF}'), true);
assert_eq!(is_non_ascii('\u{1000}'), true); assert_eq!(is_non_ascii('\u{10000}'), true); }
}