From bec968ac26ca323d5623f30fe5e70769650627b7 Mon Sep 17 00:00:00 2001 From: Llywelwyn Date: Sat, 9 Sep 2023 08:17:36 +0100 Subject: [PATCH] gender is optional --- src/inflect.rs | 4 ++-- tests/inflect_tests.rs | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/inflect.rs b/src/inflect.rs index 6ab0a80..939d630 100644 --- a/src/inflect.rs +++ b/src/inflect.rs @@ -2136,12 +2136,12 @@ fn si_pron() -> HashMap>> { si_pron } -pub fn get_si_pron(thecase: &str, word: &str, gender: &str) -> String { +pub fn get_si_pron(thecase: &str, word: &str, gender: Option<&str>) -> String { match si_pron().get(thecase) { Some(case) => match case.get(word) { Some(sing) => - match sing.get(gender) { + match sing.get(gender.unwrap_or("N/A")) { Some(specific) => specific.clone(), None => sing.clone().values().next().unwrap().clone(), } diff --git a/tests/inflect_tests.rs b/tests/inflect_tests.rs index 52d2481..e5169e9 100644 --- a/tests/inflect_tests.rs +++ b/tests/inflect_tests.rs @@ -44,10 +44,10 @@ fn test_bysize() { #[test] fn test_si_pron() { - assert_eq!("him", get_si_pron("acc", "them", "masculine")); - assert_eq!("her", get_si_pron("acc", "them", "feminine")); - assert_eq!("it", get_si_pron("acc", "them", "neuter")); - assert_eq!("themselves", get_si_pron("acc", "itself", "themselves")); - assert_ne!("him", get_si_pron("acc", "them", "feminine")); - assert_ne!("her", get_si_pron("acc", "them", "masculine")); + assert_eq!("him", get_si_pron("acc", "them", Some("masculine"))); + assert_eq!("her", get_si_pron("acc", "them", Some("feminine"))); + assert_eq!("it", get_si_pron("acc", "them", Some("neuter"))); + assert_eq!("themselves", get_si_pron("acc", "itself", None)); + assert_ne!("him", get_si_pron("acc", "them", Some("feminine"))); + assert_ne!("her", get_si_pron("acc", "them", Some("masculine"))); }