mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 04:12:56 -04:00
46 lines
1.0 KiB
Rust
46 lines
1.0 KiB
Rust
use bitdo_proto::{DeviceSession, MockTransport, SessionConfig, VidPid};
|
|
|
|
#[test]
|
|
fn diag_probe_returns_command_checks() {
|
|
let mut transport = MockTransport::default();
|
|
|
|
let mut pid = vec![0u8; 64];
|
|
pid[0] = 0x02;
|
|
pid[1] = 0x05;
|
|
pid[4] = 0xC1;
|
|
pid[22] = 0x09;
|
|
pid[23] = 0x60;
|
|
transport.push_read_data(pid);
|
|
|
|
let mut rr = vec![0u8; 64];
|
|
rr[0] = 0x02;
|
|
rr[1] = 0x04;
|
|
rr[5] = 0x01;
|
|
transport.push_read_data(rr);
|
|
|
|
let mut mode = vec![0u8; 64];
|
|
mode[0] = 0x02;
|
|
mode[1] = 0x05;
|
|
mode[5] = 2;
|
|
transport.push_read_data(mode);
|
|
|
|
let mut ver = vec![0u8; 64];
|
|
ver[0] = 0x02;
|
|
ver[1] = 0x22;
|
|
ver[2] = 0x2A;
|
|
ver[3] = 0x00;
|
|
ver[4] = 1;
|
|
transport.push_read_data(ver);
|
|
|
|
let mut session = DeviceSession::new(
|
|
transport,
|
|
VidPid::new(0x2dc8, 24585),
|
|
SessionConfig::default(),
|
|
)
|
|
.expect("session init");
|
|
|
|
let diag = session.diag_probe();
|
|
assert_eq!(diag.command_checks.len(), 4);
|
|
assert!(diag.command_checks.iter().all(|c| c.ok));
|
|
}
|