ready_set_boole/src/gray_code/tests.rs

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