File tree Expand file tree Collapse file tree 1 file changed +21
-1
lines changed
Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Original file line number Diff line number Diff line change 11use std:: num:: { ParseIntError , ParseFloatError } ;
22
3- #[ derive( Debug ) ]
3+ #[ derive( Debug , PartialEq , Eq ) ]
44pub enum ParseError {
55 ParseIntErr ( ParseIntError ) ,
66 ParseFloatErr ( ParseFloatError ) ,
@@ -34,4 +34,24 @@ impl From<ParseFloatError> for ParseError {
3434 fn from ( error : ParseFloatError ) -> ParseError {
3535 ParseError :: ParseFloatErr ( error)
3636 }
37+ }
38+
39+ #[ cfg( test) ]
40+ mod tests {
41+ use super :: ParseError ;
42+ #[ test]
43+ fn can_covert_from_parse_float_error ( ) {
44+ let float_err = "fake" . parse :: < f64 > ( ) . unwrap_err ( ) ;
45+ let result = ParseError :: from ( float_err. clone ( ) ) ;
46+ let expected = ParseError :: ParseFloatErr ( float_err) ;
47+ assert_eq ! ( result, expected) ;
48+ }
49+
50+ #[ test]
51+ fn can_covert_from_parse_int_error ( ) {
52+ let float_err = "fake" . parse :: < i32 > ( ) . unwrap_err ( ) ;
53+ let result = ParseError :: from ( float_err. clone ( ) ) ;
54+ let expected = ParseError :: ParseIntErr ( float_err) ;
55+ assert_eq ! ( result, expected) ;
56+ }
3757}
You can’t perform that action at this time.
0 commit comments