26 lines
742 B
Rust
26 lines
742 B
Rust
#[cfg(test)]
|
|
mod tests {
|
|
use crate::gray_code::gray_code;
|
|
|
|
#[test]
|
|
fn digits() {
|
|
assert_eq!(gray_code(0), 0b0000);
|
|
assert_eq!(gray_code(1), 0b0001);
|
|
assert_eq!(gray_code(2), 0b0011);
|
|
assert_eq!(gray_code(3), 0b0010);
|
|
assert_eq!(gray_code(4), 0b0110);
|
|
assert_eq!(gray_code(5), 0b0111);
|
|
assert_eq!(gray_code(6), 0b0101);
|
|
assert_eq!(gray_code(7), 0b0100);
|
|
assert_eq!(gray_code(8), 0b1100);
|
|
assert_eq!(gray_code(9), 0b1101);
|
|
}
|
|
|
|
#[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);
|
|
}
|
|
}
|