1use std::{error::Error, fmt};
2
3#[derive(Debug)]
4pub struct GcdError {
5 message: String,
6}
7
8impl Error for GcdError {}
9
10impl GcdError {
11 pub fn new(message: String) -> GcdError {
12 GcdError { message }
13 }
14}
15
16impl fmt::Display for GcdError {
17 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
18 write!(f, "gcd-error:{}", &self.message)
19 }
20}
21
22
23#[cfg(test)]
24mod test {
25 use super::*;
26 #[test]
27 fn display_error() {
28 let error = GcdError::new("test error message".to_owned());
29
30 assert_eq!(error.to_string(), "gcd-error:test error message");
31 }
32}