Skip to main content

faker_rust/games/
control.rs

1//! Control (Video Game) generator
2
3use crate::base::sample;
4use crate::locale::fetch_locale;
5
6/// Generate a random character from Control
7pub fn character() -> String {
8    fetch_locale("control.character", "en")
9        .map(|v| sample(&v))
10        .unwrap_or_else(|| "Jesse Faden".to_string())
11}
12
13/// Generate a random location from Control
14pub fn location() -> String {
15    fetch_locale("control.location", "en")
16        .map(|v| sample(&v))
17        .unwrap_or_else(|| "The Oldest House".to_string())
18}
19
20/// Generate a random Object of Power from Control
21pub fn object_of_power() -> String {
22    fetch_locale("control.object_of_power", "en")
23        .map(|v| sample(&v))
24        .unwrap_or_else(|| "Service Weapon".to_string())
25}
26
27/// Generate a random Altered Item from Control
28pub fn altered_item() -> String {
29    fetch_locale("control.altered_item", "en")
30        .map(|v| sample(&v))
31        .unwrap_or_else(|| "Floppy Disk".to_string())
32}
33
34/// Generate a random Altered World Event from Control
35pub fn altered_world_event() -> String {
36    fetch_locale("control.altered_world_event", "en")
37        .map(|v| sample(&v))
38        .unwrap_or_else(|| "Bright Falls AWE".to_string())
39}
40
41#[cfg(test)]
42mod tests {
43    use super::*;
44
45    #[test]
46    fn test_control_generation() {
47        assert!(!character().is_empty());
48        assert!(!location().is_empty());
49        assert!(!object_of_power().is_empty());
50        assert!(!altered_item().is_empty());
51        assert!(!altered_world_event().is_empty());
52    }
53}