Lines Matching refs:Number
22 /// use ylong_json::Number;
24 /// let number: Number = 0.0.into();
28 pub enum Number {
37 impl Number {
42 /// use ylong_json::Number;
44 /// let number: Number = 1u8.into();
47 /// let number: Number = 1i8.into();
58 /// use ylong_json::Number;
60 /// let number: Number = 1i8.into();
63 /// let number: Number = 1u8.into();
74 /// use ylong_json::Number;
76 /// let number: Number = 0.0.into();
79 /// let number: Number = 1i8.into();
92 /// use ylong_json::Number;
94 /// let number: Number = 1u8.into();
97 /// let number: Number = 1i8.into();
114 /// use ylong_json::Number;
116 /// let number: Number = 1i8.into();
119 /// let number: Number = u64::MAX.into();
142 /// use ylong_json::Number;
144 /// let number: Number = 0.0.into();
156 impl PartialEq for Number {
164 impl Display for Number {
167 Number::Unsigned(x) => write!(f, "{x}"),
168 Number::Signed(x) => write!(f, "{x}"),
169 Number::Float(x) => write!(f, "{x:?}"),
174 impl Debug for Number {
183 impl From<$u> for Number {
195 impl From<$i> for Number {
207 impl From<$f> for Number {
222 use crate::Number;
224 /// UT test for `Number::fmt`.
230 /// 1. Creates some `Number`s.
231 /// 2. Calls `Number::fmt`.
235 assert_eq!(format!("{}", Number::Unsigned(1)), "1");
236 assert_eq!(format!("{:?}", Number::Unsigned(1)), "1");
238 assert_eq!(format!("{}", Number::Signed(1)), "1");
239 assert_eq!(format!("{:?}", Number::Signed(1)), "1");
241 assert_eq!(format!("{}", Number::Float(1.0)), "1.0");
242 assert_eq!(format!("{:?}", Number::Float(1.0)), "1.0");
245 /// UT test for `Number::clone`.
251 /// 1. Creates some `Number`s.
252 /// 2. Calls `Number::clone`.
256 let number1 = Number::Unsigned(1);
259 let number1 = Number::Signed(1);
262 let number1 = Number::Float(1.0);
266 /// UT test for `Number::is_unsigned`.
272 /// 1. Creates some `Number`s.
273 /// 2. Calls `Number::is_unsigned`.
277 assert!(Number::Unsigned(1).is_unsigned());
278 assert!(!Number::Signed(1).is_unsigned());
279 assert!(!Number::Float(1.0).is_unsigned());
282 /// UT test for `Number::is_signed`.
288 /// 1. Creates some `Number`s.
289 /// 2. Calls `Number::is_signed`.
293 assert!(!Number::Unsigned(1).is_signed());
294 assert!(Number::Signed(1).is_signed());
295 assert!(!Number::Float(1.0).is_signed());
298 /// UT test for `Number::is_float`.
304 /// 1. Creates some `Number`s.
305 /// 2. Calls `Number::is_float`.
309 assert!(!Number::Unsigned(1).is_float());
310 assert!(!Number::Signed(1).is_float());
311 assert!(Number::Float(1.0).is_float());
314 /// UT test for `Number::try_as_u64`.
320 /// 1. Creates some `Number`s.
321 /// 2. Calls `Number::try_as_u64`.
325 assert!(Number::Unsigned(1).try_as_u64().is_ok());
326 assert!(Number::Signed(1).try_as_u64().is_err());
327 assert!(Number::Float(1.0).try_as_u64().is_err());
330 /// UT test for `Number::try_as_i64`.
336 /// 1. Creates some `Number`s.
337 /// 2. Calls `Number::try_as_i64`.
341 assert!(Number::Unsigned(1).try_as_i64().is_ok());
342 assert!(Number::Unsigned(u64::MAX).try_as_i64().is_err());
343 assert!(Number::Signed(1).try_as_i64().is_ok());
344 assert!(Number::Float(1.0).try_as_i64().is_err());