use crate::registers::{ConditionCodes, Registers};
use std::mem;
const OFF_D: usize = 0;
const OFF_X: usize = 2;
const OFF_Y: usize = 4;
const OFF_U: usize = 6;
const OFF_S: usize = 8;
const OFF_PC: usize = 10;
const OFF_DP: usize = 12;
const OFF_CC: usize = 13;
#[test]
fn condition_codes_layout() {
assert_eq!(mem::size_of::<ConditionCodes>(), mem::size_of::<u8>());
assert_eq!(mem::align_of::<ConditionCodes>(), mem::align_of::<u8>());
}
#[test]
fn registers_size_and_align() {
assert_eq!(mem::size_of::<Registers>(), 14);
assert_eq!(mem::align_of::<Registers>(), 2);
}
#[test]
fn registers_field_offsets() {
assert_eq!(mem::offset_of!(Registers, d), OFF_D);
assert_eq!(mem::offset_of!(Registers, x), OFF_X);
assert_eq!(mem::offset_of!(Registers, y), OFF_Y);
assert_eq!(mem::offset_of!(Registers, u), OFF_U);
assert_eq!(mem::offset_of!(Registers, s), OFF_S);
assert_eq!(mem::offset_of!(Registers, pc), OFF_PC);
assert_eq!(mem::offset_of!(Registers, dp), OFF_DP);
assert_eq!(mem::offset_of!(Registers, cc), OFF_CC);
}