use crate::morethantext::error::MTTError; use std::fmt; pub struct StaticString { data: String, } impl StaticString { pub fn new(name: S) -> Result where S: Into, { Ok(Self { data: name.into() }) } } impl fmt::Display for StaticString { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{}", &self.data) } } #[cfg(test)] mod creation { use super::*; #[test] fn new_accepts_str() { let data = "some data"; let field = StaticString::new(data).unwrap(); assert!( field.to_string() == data, "\n\nGot: {}\nWant: {}", field.to_string(), data ); } #[test] fn new_accepts_string() { let data = "actual string"; let field = StaticString::new(data.to_string()).unwrap(); assert!( field.to_string() == data, "\n\nGot: {}\nWant: {}", field.to_string(), data ); } }