use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Error {
InvalidHexString,
InvalidPrivateKey,
InvalidPublicKey,
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
Error::InvalidHexString => write!(f, "Invalid hex string"),
Error::InvalidPrivateKey => write!(f, "Invalid private key"),
Error::InvalidPublicKey => write!(f, "Invalid public key"),
}
}
}
impl std::error::Error for Error {}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_error() {
assert_eq!(
Error::InvalidHexString.to_string(),
"Invalid hex string".to_string()
);
assert_eq!(
Error::InvalidPrivateKey.to_string(),
"Invalid private key".to_string()
);
assert_eq!(
Error::InvalidPublicKey.to_string(),
"Invalid public key".to_string()
);
}
}