26 lines
688 B
Rust
26 lines
688 B
Rust
|
#[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);
|
||
|
}
|
||
|
}
|