pub fn normalize_string(word: &str, genre_id: u8) -> String {
let cleaned_word = word.replace('<', "〈").replace('>', "〉");
match genre_id {
1 | 2 => cleaned_word.replace('\u{05BE}', "○"),
3 | _ => cleaned_word,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn replace_maqqef_for_proper_genre() {
const INIT_HEBREW: &str = "את־הארץ";
const CORRECT_CONVERTED_HEBREW: &str = "את○הארץ";
let converted_hebrew_1 = normalize_string(INIT_HEBREW, 1_u8);
let converted_hebrew_2 = normalize_string(INIT_HEBREW, 2_u8);
let converted_hebrew_3 = normalize_string(INIT_HEBREW, 3_u8);
assert_eq!(converted_hebrew_1, CORRECT_CONVERTED_HEBREW);
assert_eq!(converted_hebrew_2, CORRECT_CONVERTED_HEBREW);
assert_eq!(converted_hebrew_3, INIT_HEBREW);
}
#[test]
fn replace_angled_brackets() {
const INIT_HEBREW: &str = "את ה<א>רץ";
const CORRECT_CONVERTED_HEBREW: &str = "את ה〈א〉רץ";
let converted_hebrew_1 = normalize_string(INIT_HEBREW, 1_u8);
let converted_hebrew_2 = normalize_string(INIT_HEBREW, 2_u8);
let converted_hebrew_3 = normalize_string(INIT_HEBREW, 3_u8);
assert_eq!(converted_hebrew_1, CORRECT_CONVERTED_HEBREW);
assert_eq!(converted_hebrew_2, CORRECT_CONVERTED_HEBREW);
assert_eq!(converted_hebrew_3, CORRECT_CONVERTED_HEBREW);
}
}