#[cfg(test)] mod tests { use crate::gray_code::gray_code; #[test] fn digits() { assert_eq!(gray_code(0), 0); assert_eq!(gray_code(1), 1); assert_eq!(gray_code(2), 3); assert_eq!(gray_code(3), 2); assert_eq!(gray_code(4), 6); assert_eq!(gray_code(5), 7); assert_eq!(gray_code(6), 5); assert_eq!(gray_code(7), 4); assert_eq!(gray_code(8), 12); assert_eq!(gray_code(9), 13); } #[test] fn msb_u32() { assert_eq!(gray_code(3_000_000_000), 3_954_733_312); assert_eq!(gray_code(2_147_483_648), 3_221_225_472); assert_eq!(gray_code(4_294_967_295), 2_147_483_648); } }