use super::WIDE_BUS_WIDTH;
use crate::data_block;
pub const DATA_BLOCK_512: usize = 512;
pub const WIDE_DATA_BLOCK_512: usize = DATA_BLOCK_512 / WIDE_BUS_WIDTH;
data_block! {
DataBlock512: DATA_BLOCK_512,
WideDataBlock512: WIDE_DATA_BLOCK_512,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_wide_data_block() {
[DataBlock512::new(), DataBlock512::from_bytes([0xff; 512])]
.into_iter()
.zip([
WideDataBlock512::new(),
WideDataBlock512::from_data_lines(
[0xff; WIDE_DATA_BLOCK_512],
[0xff; WIDE_DATA_BLOCK_512],
[0xff; WIDE_DATA_BLOCK_512],
[0xff; WIDE_DATA_BLOCK_512],
),
])
.for_each(|(data_block, exp_wide_data_block)| {
assert_eq!(data_block.wide_data(), exp_wide_data_block);
assert_eq!(exp_wide_data_block.decode(), data_block);
});
}
}