faker_rust/default/
mountain.rs1use crate::base::sample;
4use crate::locale::fetch_locale;
5
6pub fn name() -> String {
8 fetch_locale("mountain.names", "en")
9 .map(|v| sample(&v))
10 .unwrap_or_else(|| sample(FALLBACK_NAMES).to_string())
11}
12
13pub fn range() -> String {
15 fetch_locale("mountain.ranges", "en")
16 .map(|v| sample(&v))
17 .unwrap_or_else(|| sample(FALLBACK_RANGES).to_string())
18}
19
20const FALLBACK_NAMES: &[&str] = &[
22 "Mount Everest", "K2", "Kangchenjunga", "Lhotse", "Makalu", "Cho Oyu",
23 "Dhaulagiri", "Manaslu", "Nanga Parbat", "Annapurna", "Gasherbrum I",
24 "Broad Peak", "Gasherbrum II", "Shishapangma", "Mount Kilimanjaro",
25 "Mount McKinley", "Mount Elbrus", "Mount Kilimanjaro", "Mount Fuji",
26 "Mount Rainier", "Matterhorn", "Mont Blanc",
27];
28
29const FALLBACK_RANGES: &[&str] = &[
30 "Himalayas", "Karakoram", "Hindu Kush", "Andes", "Alps", "Rockies",
31 "Appalachians", "Cascades", "Sierra Nevada", "Atlas Mountains",
32 "Drakensberg", "Caucasus Mountains", "Ural Mountains",
33];
34
35#[cfg(test)]
36mod tests {
37 use super::*;
38
39 #[test]
40 fn test_name() {
41 assert!(!name().is_empty());
42 }
43
44 #[test]
45 fn test_range() {
46 assert!(!range().is_empty());
47 }
48}