use crate::{message::MessageAction, name::NameType}; #[derive(Clone, Debug)] pub struct Show { doc_name: NameType, } impl Show { pub fn new(name: NT) -> Self where NT: Into, { Self { doc_name: name.into(), } } } impl MessageAction for Show { fn doc_name(&self) -> &NameType { &self.doc_name } } #[cfg(test)] mod shows { use super::*; use crate::name::test_support::random_name; #[test] fn can_request_a_show() { let name = random_name(); let expected: NameType = name.clone().into(); let show = Show::new(name); assert_eq!(show.doc_name(), &expected); } }