use crate::math_symbol_shortcut;
pub fn is_double_arrow_line_symbol(c: char) -> bool {
c == '↔'
}
pub fn encode_double_arrow_line_symbol(c: char, result: &mut Vec<u8>) -> Result<(), String> {
let encoded = math_symbol_shortcut::encode_char_math_symbol_shortcut(c)?;
result.extend_from_slice(encoded);
Ok(())
}
#[cfg(test)]
mod tests {
use super::*;
fn encode_double_arrow_line_uppercase_prefix(result: &mut Vec<u8>) -> Result<(), String> {
result.extend_from_slice(&[32, 32]);
Ok(())
}
#[test]
fn detects_double_arrow_line_symbol() {
assert!(is_double_arrow_line_symbol('↔'));
assert!(!is_double_arrow_line_symbol('→'));
}
#[test]
fn encodes_double_arrow_line_uppercase_prefix_correctly() -> Result<(), String> {
let mut result = Vec::new();
encode_double_arrow_line_uppercase_prefix(&mut result)?;
assert_eq!(result, vec![32, 32]);
Ok(())
}
}