use std::fmt;
#[derive(Debug, Clone)]
pub enum Error {
Validation(String),
Parsing(String),
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::Validation(msg) => write!(f, "Validation error: {}", msg),
Error::Parsing(msg) => write!(f, "Parsing error: {}", msg),
}
}
}
impl std::error::Error for Error {}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn error_validation_display() {
let err = Error::Validation("test".to_string());
assert_eq!(format!("{}", err), "Validation error: test");
}
#[test]
fn error_parsing_display() {
let err = Error::Parsing("test".to_string());
assert_eq!(format!("{}", err), "Parsing error: test");
}
}