ready_set_boole/src/gray_code/tests.rs

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);
}
}