use super::Language;
pub const DIGNITY_COUNT: usize = 5;
#[must_use]
pub fn dignity_name(index: usize, lang: Language) -> &'static str {
match lang {
Language::English => DIGNITIES_EN[index],
Language::Hindi => DIGNITIES_HI[index],
Language::Sanskrit => DIGNITIES_SA[index],
Language::Tamil => DIGNITIES_TA[index],
Language::Telugu => DIGNITIES_TE[index],
Language::Kannada => DIGNITIES_KN[index],
Language::Bengali => DIGNITIES_BN[index],
}
}
static DIGNITIES_EN: &[&str] = &["Domicile", "Exaltation", "Detriment", "Fall", "Peregrine"];
static DIGNITIES_HI: &[&str] = &["स्वक्षेत्र", "उच्च", "शत्रुक्षेत्र", "नीच", "सामान्य"];
static DIGNITIES_SA: &[&str] = &["उच्चम्", "मूलत्रिकोणम्", "स्वक्षेत्रम्", "नीचम्", "शत्रुक्षेत्रम्"];
static DIGNITIES_TA: &[&str] = &["சொந்த வீடு", "உச்சம்", "பகை வீடு", "நீசம்", "சாமான்யம்"];
static DIGNITIES_TE: &[&str] = &["స్వక్షేత్రం", "ఉచ్చం", "శత్రుక్షేత్రం", "నీచం", "సాధారణం"];
static DIGNITIES_KN: &[&str] = &["ಸ್ವಕ್ಷೇತ್ರ", "ಉಚ್ಚ", "ಶತ್ರುಕ್ಷೇತ್ರ", "ನೀಚ", "ಸಾಮಾನ್ಯ"];
static DIGNITIES_BN: &[&str] = &["স্বক্ষেত্র", "উচ্চ", "শত্রুক্ষেত্র", "নীচ", "সাধারণ"];
#[cfg(test)]
mod tests {
use super::Language;
use super::*;
#[test]
fn dignity_count_is_five() {
assert_eq!(DIGNITY_COUNT, 5);
}
#[test]
fn domicile_english() {
assert_eq!(dignity_name(0, Language::English), "Domicile");
}
#[test]
fn exaltation_hindi() {
assert_eq!(dignity_name(1, Language::Hindi), "उच्च");
}
#[test]
fn fall_sanskrit() {
assert_eq!(dignity_name(3, Language::Sanskrit), "नीचम्");
}
#[test]
fn all_languages_all_dignities_non_empty() {
for lang in Language::ALL {
for i in 0..DIGNITY_COUNT {
let name = dignity_name(i, *lang);
assert!(
!name.is_empty(),
"Empty dignity name: lang={:?}, index={i}",
lang
);
}
}
}
}