mockd/language/
mod.rs

1//!
2//! Provides 3 functions to return mock language data.
3//!
4//! # Examples
5//!
6//! ```rust
7//! use mockd::language;
8//!
9//!     let data = language::random(); // random: Tatar
10//!     let data = language::abbreviation(); // abbreviation: co
11//!     let data = language::programming(); // programming: Rust
12//! ```
13//!
14//! # Feature
15//!
16//! Requires the "language" feature.
17//!
18
19use crate::misc;
20
21pub(crate) mod data;
22
23/// Pick a random spoken language from the language dictionary.
24///
25/// # Example
26///
27/// ```rust
28/// let language = mockd::language::random();
29///
30/// println!("Language: {}", language);
31/// ```
32///
33/// # Feature
34///
35/// Requires the "language" feature.
36///
37pub fn random() -> String {
38    misc::random_data(data::LONG).to_string()
39}
40
41/// Pick a random spoken language short code from the language short code dictionary.
42///
43/// # Example
44///
45/// ```rust
46/// let language_short_code = mockd::language::abbreviation ();
47///
48/// println!("Spoken language short code: {}", language_short_code);
49/// ```
50///
51/// # Feature
52///
53/// Requires the "language" feature.
54///
55pub fn abbreviation() -> String {
56    misc::random_data(data::SHORT).to_string()
57}
58
59/// Pick a random programming language from the programming language  dictionary.
60///
61/// # Example
62///
63/// ```rust
64/// let programming_language = mockd::language::programming ();
65///
66/// println!("Programming language: {}", programming_language);
67/// ```
68///
69/// # Feature
70///
71/// Requires the "language" feature.
72///
73pub fn programming() -> String {
74    misc::random_data(data::PROGRAMMING).to_string()
75}
76
77#[cfg(test)]
78mod tests {
79    use crate::language;
80    use crate::testify::exec_mes;
81
82    #[test]
83    fn random() {
84        exec_mes("language::random", language::random);
85    }
86
87    #[test]
88    fn abbreviation() {
89        exec_mes("language::abbreviation", language::abbreviation);
90    }
91
92    #[test]
93    fn programming() {
94        exec_mes("language::programming", language::programming);
95    }
96}