diff --git a/src/libstd/num/uint_macros.rs b/src/libstd/num/uint_macros.rs index f480a3b420f54..bcfdb7cd43ac1 100644 --- a/src/libstd/num/uint_macros.rs +++ b/src/libstd/num/uint_macros.rs @@ -48,68 +48,6 @@ mod tests { assert_eq!(FromStrRadix::from_str_radix("Z", 10), None::<$T>); assert_eq!(FromStrRadix::from_str_radix("_", 2), None::<$T>); } - - #[test] - fn test_uint_to_str_overflow() { - let mut u8_val: u8 = 255_u8; - assert_eq!(u8_val.to_string(), "255"); - - u8_val += 1 as u8; - assert_eq!(u8_val.to_string(), "0"); - - let mut u16_val: u16 = 65_535_u16; - assert_eq!(u16_val.to_string(), "65535"); - - u16_val += 1 as u16; - assert_eq!(u16_val.to_string(), "0"); - - let mut u32_val: u32 = 4_294_967_295_u32; - assert_eq!(u32_val.to_string(), "4294967295"); - - u32_val += 1 as u32; - assert_eq!(u32_val.to_string(), "0"); - - let mut u64_val: u64 = 18_446_744_073_709_551_615_u64; - assert_eq!(u64_val.to_string(), "18446744073709551615"); - - u64_val += 1 as u64; - assert_eq!(u64_val.to_string(), "0"); - } - - #[test] - fn test_uint_from_str_overflow() { - let mut u8_val: u8 = 255_u8; - assert_eq!(from_str::("255"), Some(u8_val)); - assert_eq!(from_str::("256"), None); - - u8_val += 1 as u8; - assert_eq!(from_str::("0"), Some(u8_val)); - assert_eq!(from_str::("-1"), None); - - let mut u16_val: u16 = 65_535_u16; - assert_eq!(from_str::("65535"), Some(u16_val)); - assert_eq!(from_str::("65536"), None); - - u16_val += 1 as u16; - assert_eq!(from_str::("0"), Some(u16_val)); - assert_eq!(from_str::("-1"), None); - - let mut u32_val: u32 = 4_294_967_295_u32; - assert_eq!(from_str::("4294967295"), Some(u32_val)); - assert_eq!(from_str::("4294967296"), None); - - u32_val += 1 as u32; - assert_eq!(from_str::("0"), Some(u32_val)); - assert_eq!(from_str::("-1"), None); - - let mut u64_val: u64 = 18_446_744_073_709_551_615_u64; - assert_eq!(from_str::("18446744073709551615"), Some(u64_val)); - assert_eq!(from_str::("18446744073709551616"), None); - - u64_val += 1 as u64; - assert_eq!(from_str::("0"), Some(u64_val)); - assert_eq!(from_str::("-1"), None); - } } ) } diff --git a/src/libstd/num/usize.rs b/src/libstd/num/usize.rs index 74dd38e13c582..89376abfddb1b 100644 --- a/src/libstd/num/usize.rs +++ b/src/libstd/num/usize.rs @@ -20,3 +20,70 @@ pub use core::usize::{BITS, BYTES, MIN, MAX}; uint_module! { usize } + +#[cfg(test)] +mod tests { + use prelude::v1::*; + + #[test] + fn test_uint_to_str_overflow() { + let mut u8_val: u8 = 255_u8; + assert_eq!(u8_val.to_string(), "255"); + + u8_val += 1 as u8; + assert_eq!(u8_val.to_string(), "0"); + + let mut u16_val: u16 = 65_535_u16; + assert_eq!(u16_val.to_string(), "65535"); + + u16_val += 1 as u16; + assert_eq!(u16_val.to_string(), "0"); + + let mut u32_val: u32 = 4_294_967_295_u32; + assert_eq!(u32_val.to_string(), "4294967295"); + + u32_val += 1 as u32; + assert_eq!(u32_val.to_string(), "0"); + + let mut u64_val: u64 = 18_446_744_073_709_551_615_u64; + assert_eq!(u64_val.to_string(), "18446744073709551615"); + + u64_val += 1 as u64; + assert_eq!(u64_val.to_string(), "0"); + } + + #[test] + fn test_uint_from_str_overflow() { + let mut u8_val: u8 = 255_u8; + assert_eq!(from_str::("255"), Some(u8_val)); + assert_eq!(from_str::("256"), None); + + u8_val += 1 as u8; + assert_eq!(from_str::("0"), Some(u8_val)); + assert_eq!(from_str::("-1"), None); + + let mut u16_val: u16 = 65_535_u16; + assert_eq!(from_str::("65535"), Some(u16_val)); + assert_eq!(from_str::("65536"), None); + + u16_val += 1 as u16; + assert_eq!(from_str::("0"), Some(u16_val)); + assert_eq!(from_str::("-1"), None); + + let mut u32_val: u32 = 4_294_967_295_u32; + assert_eq!(from_str::("4294967295"), Some(u32_val)); + assert_eq!(from_str::("4294967296"), None); + + u32_val += 1 as u32; + assert_eq!(from_str::("0"), Some(u32_val)); + assert_eq!(from_str::("-1"), None); + + let mut u64_val: u64 = 18_446_744_073_709_551_615_u64; + assert_eq!(from_str::("18446744073709551615"), Some(u64_val)); + assert_eq!(from_str::("18446744073709551616"), None); + + u64_val += 1 as u64; + assert_eq!(from_str::("0"), Some(u64_val)); + assert_eq!(from_str::("-1"), None); + } +}