blob: 4f1e16f3e7c82d9735e4827a9fc32b7c2270979e [file] [log] [blame]
Ravago Jones16809802021-11-18 20:40:03 -08001pub struct Greeter {
Brian Silverman4e278082022-05-19 22:47:41 -07002 greeting: String,
Ravago Jones16809802021-11-18 20:40:03 -08003}
4
5impl Greeter {
6 pub fn new(greeting: &str) -> Greeter {
Brian Silverman4e278082022-05-19 22:47:41 -07007 Greeter {
8 greeting: greeting.to_string(),
9 }
Ravago Jones16809802021-11-18 20:40:03 -080010 }
11
12 pub fn greet(&self, thing: &str) -> String {
13 format!("{} {}", &self.greeting, thing)
14 }
15}
16
17#[cfg(test)]
18mod test {
19 use super::Greeter;
20
21 #[test]
22 fn test_greeting() {
23 let hello = Greeter::new("Hi");
24 assert_eq!("Hi Rust", hello.greet("Rust"));
25 }
26}