use phf::phf_map;
pub static GREEK: phf::Map<&'static str, (&'static str, &'static str)> = phf_map! {
"alpha" => ("\u{03B1}", "greek small letter alpha"), "beta" => ("\u{03B2}", "greek small letter beta"), "gamma" => ("\u{03B3}", "greek small letter gamma"), "delta" => ("\u{03B4}", "greek small letter delta"), "epsilon" => ("\u{03B5}", "greek small letter epsilon"), "zeta" => ("\u{03B6}", "greek small letter zeta"), "eta" => ("\u{03B7}", "greek small letter eta"), "theta" => ("\u{03B8}", "greek small letter theta"), "iota" => ("\u{03B9}", "greek small letter iota"), "kappa" => ("\u{03BA}", "greek small letter kappa"), "lambda" => ("\u{03BB}", "greek small letter lambda"), "lamda" => ("\u{03BB}", "greek small letter lambda"), "mu" => ("\u{03BC}", "greek small letter mu"), "nu" => ("\u{03BD}", "greek small letter nu"), "xi" => ("\u{03BE}", "greek small letter xi"), "omicron" => ("\u{03BF}", "greek small letter omicron"), "pi" => ("\u{03C0}", "greek small letter pi"), "rho" => ("\u{03C1}", "greek small letter rho"), "sigma" => ("\u{03C3}", "greek small letter sigma"), "tau" => ("\u{03C4}", "greek small letter tau"), "upsilon" => ("\u{03C5}", "greek small letter upsilon"), "phi" => ("\u{03C6}", "greek small letter phi"), "chi" => ("\u{03C7}", "greek small letter chi"), "psi" => ("\u{03C8}", "greek small letter psi"), "omega" => ("\u{03C9}", "greek small letter omega"),
"Alpha" => ("\u{0391}", "greek capital letter alpha"), "Beta" => ("\u{0392}", "greek capital letter beta"), "Gamma" => ("\u{0393}", "greek capital letter gamma"), "Delta" => ("\u{0394}", "greek capital letter delta"), "Theta" => ("\u{0398}", "greek capital letter theta"), "Lambda" => ("\u{039B}", "greek capital letter lambda"), "Lamda" => ("\u{039B}", "greek capital letter lambda"), "Pi" => ("\u{03A0}", "greek capital letter pi"), "Sigma" => ("\u{03A3}", "greek capital letter sigma"), "Phi" => ("\u{03A6}", "greek capital letter phi"), "Psi" => ("\u{03A8}", "greek capital letter psi"), "Omega" => ("\u{03A9}", "greek capital letter omega"), };
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_lowercase_greek() {
assert_eq!(
GREEK.get("alpha"),
Some(&("\u{03B1}", "greek small letter alpha"))
);
assert_eq!(
GREEK.get("beta"),
Some(&("\u{03B2}", "greek small letter beta"))
);
assert_eq!(
GREEK.get("gamma"),
Some(&("\u{03B3}", "greek small letter gamma"))
);
assert_eq!(
GREEK.get("delta"),
Some(&("\u{03B4}", "greek small letter delta"))
);
assert_eq!(
GREEK.get("lambda"),
Some(&("\u{03BB}", "greek small letter lambda"))
);
assert_eq!(
GREEK.get("omega"),
Some(&("\u{03C9}", "greek small letter omega"))
);
}
#[test]
fn test_uppercase_greek() {
assert_eq!(
GREEK.get("Alpha"),
Some(&("\u{0391}", "greek capital letter alpha"))
);
assert_eq!(
GREEK.get("Gamma"),
Some(&("\u{0393}", "greek capital letter gamma"))
);
assert_eq!(
GREEK.get("Delta"),
Some(&("\u{0394}", "greek capital letter delta"))
);
assert_eq!(
GREEK.get("Omega"),
Some(&("\u{03A9}", "greek capital letter omega"))
);
}
#[test]
fn test_case_sensitivity() {
assert_ne!(GREEK.get("alpha"), GREEK.get("Alpha"));
assert_ne!(GREEK.get("omega"), GREEK.get("Omega"));
}
}