Tests for Register Module
These are simple tests to verify the basic functionality of the Register and DecodeMode enums. Place them at the bottom of the registers.rs module.
#![allow(unused)] fn main() { #[cfg(test)] mod tests { use super::*; #[test] fn test_register_addr() { assert_eq!(Register::NoOp.addr(), 0x00); assert_eq!(Register::Digit0.addr(), 0x01); assert_eq!(Register::Digit7.addr(), 0x08); assert_eq!(Register::DecodeMode.addr(), 0x09); assert_eq!(Register::Intensity.addr(), 0x0A); assert_eq!(Register::ScanLimit.addr(), 0x0B); assert_eq!(Register::Shutdown.addr(), 0x0C); assert_eq!(Register::DisplayTest.addr(), 0x0F); } #[test] fn test_digits_iterator() { let expected = [ Register::Digit0, Register::Digit1, Register::Digit2, Register::Digit3, Register::Digit4, Register::Digit5, Register::Digit6, Register::Digit7, ]; let actual: Vec<Register> = Register::digits().collect(); assert_eq!(actual, expected); } #[test] fn test_decode_mode_value() { assert_eq!(DecodeMode::NoDecode.value(), 0x00); assert_eq!(DecodeMode::Digit0.value(), 0x01); assert_eq!(DecodeMode::Digits0To3.value(), 0x0F); assert_eq!(DecodeMode::AllDigits.value(), 0xFF); } } }