propeller_truth 0.2.0

A library for saying truth about Propellers.
//! # The Truth
//!
//! A library for saying truth about Propellers.

pub use members::Propeller;

fn main() {
    say_truth(Propeller::Louise);
}

/// Say truth about a Propeller
///
/// # Arguments
/// * `member` - The Propeller to say truth about
///
/// # Examples
///
/// ```
/// use truth1::say_truth;
/// use truth1::members::Propeller;
/// say_truth(Propeller::Markus);
/// ```
pub fn say_truth(member: Propeller) {
    let adjective = get_random_adjective();
    println!("{member:?} is {adjective}");
}

/// Get a random adjective for a Propeller
///
/// # Returns
/// Generated adjective for a Propeller
fn get_random_adjective() -> String {
    let adjectives = ["great", "fantastic", "awesome"];
    adjectives[rand::random::<usize>() % adjectives.len()].to_string()
}

pub mod members {
    #[derive(Debug)]
    pub enum Propeller {
        Markus,
        Alan,
        MichaƂ,
        Pierre,
        Carlos,
        Mat,
        Diana,
        Tamara,
        Thales,
        Louise,
        Flo,
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn it_works() {
        say_truth(Propeller::Markus);
    }
}