mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 04:12:56 -04:00
Bootstrap OpenBitdo clean-room SDK and reliability milestone
This commit is contained in:
45
sdk/tests/diag_probe.rs
Normal file
45
sdk/tests/diag_probe.rs
Normal file
@@ -0,0 +1,45 @@
|
||||
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));
|
||||
}
|
||||
Reference in New Issue
Block a user