use embedded_hal_mock::eh1::spi::{Mock, Transaction};
use ic_md::IcMd;
#[test]
fn test_default_icmd_and_counter_read() {
let expectations = [
Transaction::transaction_start(),
Transaction::write(0x00),
Transaction::write(0x02),
Transaction::transaction_end(),
Transaction::transaction_start(),
Transaction::write(0x80 | 0x08),
Transaction::read_vec(vec![0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC0]),
Transaction::transaction_end(),
];
let mut spi_device = Mock::new(&expectations);
let mut icmd = IcMd::new(&mut spi_device);
icmd.init().unwrap();
let counter_value = icmd.read_counter().unwrap();
let cnt_0 = counter_value
.get_cnt0()
.expect("Counter 0 should always be set up");
assert_eq!(cnt_0, 42);
assert!(icmd.get_device_status().is_ok());
spi_device.done();
}