1#[macro_export]
2macro_rules! assert_bin {
3 ( $ left : expr , $ right : expr ) => {
4 assert_eq!($left, $right, "{:08b} does not equal {:08b}", $left, $right)
5 };
6}
7
8#[macro_export]
9macro_rules! assert_hex {
10 ( $ left : expr , $ right : expr ) => {
11 assert_eq!($left, $right, "{:02x} does not equal {:02x}", $left, $right)
12 };
13}
14
15#[macro_export]
16macro_rules! assert_flags {
17 ( $registers : expr, $($flag:ident = $value:expr),* $(,)?) => {
18 $(assert_eq!($registers.get_flag(&$crate::ops::StatusFlag::$flag),
19 $value,
20 "(CPU flag {})", stringify!($flag),
21 );)*
22 }
23}