#![cfg(test)]
use multitype::{Signed, Unsigned};
#[test]
fn test_bit_width() {
assert_eq!(Unsigned::bit_width(00_u8), 0);
assert_eq!(Unsigned::bit_width(01_u8), 1);
assert_eq!(Unsigned::bit_width(02_u8), 2);
assert_eq!(Unsigned::bit_width(03_u8), 2);
assert_eq!(Unsigned::bit_width(04_u8), 3);
assert_eq!(Unsigned::bit_width(05_u8), 3);
assert_eq!(Unsigned::bit_width(06_u8), 3);
assert_eq!(Unsigned::bit_width(07_u8), 3);
assert_eq!(Unsigned::bit_width(08_u8), 4);
assert_eq!(Unsigned::bit_width(09_u8), 4);
assert_eq!(Unsigned::bit_width(10_u8), 4);
assert_eq!(Unsigned::bit_width(11_u8), 4);
assert_eq!(Unsigned::bit_width(12_u8), 4);
assert_eq!(Unsigned::bit_width(13_u8), 4);
assert_eq!(Unsigned::bit_width(14_u8), 4);
assert_eq!(Unsigned::bit_width(15_u8), 4);
}
#[test]
fn test_cast_signed() {
fn test<T: Unsigned<Signed: Default>>() {
let _: T = T::Signed::default().cast_unsigned();
}
test::<u8>();
test::<u16>();
test::<u32>();
test::<u64>();
test::<u128>();
test::<usize>();
}