Documentation
pub struct Hello {
    hello: String,
    name: String,
}

impl Hello {
    pub fn new(hello: String, name: String) -> Hello {
        Hello { hello, name }
    }
    fn hello_borer(self) -> String {
        self.hello.as_str().to_owned() + " " + self.name.as_str() + "!"
    }
}

#[cfg(test)]
mod tests {
    use crate::Hello;

    #[test]
    fn test_hello_borer() {
        let hello_borer = Hello::new(String::from("Hello"), String::from("Borer"));
        assert_eq!("Hello Borer!", hello_borer.hello_borer());
    }
}