#![cfg_attr(feature = "cargo-clippy", allow(cast_lossless, string_lit_as_bytes))] #![allow(non_snake_case)] extern crate itoa; macro_rules! test { ( $( $(#[$attr:meta])* $name:ident($value:expr, $expected:expr) ),* ) => { $( $(#[$attr])* #[test] fn $name() { #[cfg(feature = "std")] { let mut buf = [b'\0'; 40]; let len = itoa::write(&mut buf[..], $value).unwrap(); assert_eq!(&buf[0..len], $expected.as_bytes()); } let mut s = String::new(); itoa::fmt(&mut s, $value).unwrap(); assert_eq!(s, $expected); } )* } } test! { test_u64_0(0u64, "0"), test_u64_half(::max_value() as u64, "4294967295"), test_u64_max(::max_value(), "18446744073709551615"), test_i64_min(::min_value(), "-9223372036854775808"), test_i16_0(0i16, "0"), test_i16_min(::min_value(), "-32768"), #[cfg(feature = "i128")] test_u128_0(0u128, "0"), #[cfg(feature = "i128")] test_u128_max(::max_value(), "340282366920938463463374607431768211455"), #[cfg(feature = "i128")] test_i128_min(::min_value(), "-170141183460469231731687303715884105728") }