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}