use ron::{
de::{Position, Span, SpannedError},
Error,
};
#[ test]
fn test_float_literal_parsing() {
assert_eq!(ron::from_str("inf" ), Ok(f64::INFINITY));
assert_eq!(ron::from_str("+inf" ), Ok(f64::INFINITY));
assert_eq!(ron::from_str("-inf" ), Ok(f64::NEG_INFINITY));
assert!(ron::from_str::<f64>("NaN" ).unwrap().is_nan());
assert!(ron::from_str::<f64>("+NaN" ).unwrap().is_nan());
assert!(ron::from_str::<f64>("-NaN" ).unwrap().is_nan());
assert_eq!(ron::from_str("1" ), Ok(1 .0 _f64));
assert_eq!(ron::from_str("+1" ), Ok(1 .0 _f64));
assert_eq!(ron::from_str("-1" ), Ok(-1 .0 _f64));
assert_eq!(ron::from_str("1e3" ), Ok(1000 .0 _f64));
assert_eq!(ron::from_str("1e+1" ), Ok(10 .0 _f64));
assert_eq!(ron::from_str("7E-1" ), Ok(0 .7 _f64));
assert_eq!(ron::from_str("1." ), Ok(1 .0 _f64));
assert_eq!(ron::from_str("+1.1" ), Ok(1 .1 _f64));
assert_eq!(ron::from_str("-1.42" ), Ok(-1 .42 _f64));
assert_eq!(ron::from_str("-1.5e3" ), Ok(-1500 .0 _f64));
assert_eq!(ron::from_str("1.e+1" ), Ok(10 .0 _f64));
assert_eq!(ron::from_str("7.4E-1" ), Ok(0 .74 _f64));
assert_eq!(ron::from_str(".1" ), Ok(0 .1 _f64));
assert_eq!(ron::from_str("+.1" ), Ok(0 .1 _f64));
assert_eq!(ron::from_str("-.42" ), Ok(-0 .42 _f64));
assert_eq!(ron::from_str("-.5e3" ), Ok(-500 .0 _f64));
assert_eq!(ron::from_str(".3e+1" ), Ok(3 .0 _f64));
assert_eq!(ron::from_str(".4E-1" ), Ok(0 .04 _f64));
assert_eq!(ron::from_str("1_0.1_0" ), Ok(10 .1 _f32),);
assert_eq!(ron::from_str("1_0.10" ), Ok(10 .1 _f32),);
assert_eq!(ron::from_str("10.1_0" ), Ok(10 .1 _f32),);
assert_eq!(
ron::from_str::<f64>("1.0e1.0" ),
Err(SpannedError {
code: Error::ExpectedFloat,
span: Span {
start: Position { line: 1 , col: 1 },
end: Position { line: 1 , col: 1 },
}
})
);
}
Messung V0.5 in Prozent C=94 H=98 G=95
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland