use super::*;
impl<N: Network> FromStr for Solutions<N> {
type Err = Error;
fn from_str(solutions: &str) -> Result<Self, Self::Err> {
Ok(serde_json::from_str(solutions)?)
}
}
impl<N: Network> Debug for Solutions<N> {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
Display::fmt(self, f)
}
}
impl<N: Network> Display for Solutions<N> {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
write!(f, "{}", serde_json::to_string(self).map_err::<fmt::Error, _>(ser::Error::custom)?)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_string() -> Result<()> {
let mut rng = TestRng::default();
let expected = crate::solutions::serialize::tests::sample_solutions(&mut rng);
let candidate = format!("{expected}");
assert_eq!(expected, Solutions::from_str(&candidate)?);
Ok(())
}
}