mod api;
mod client;
mod error;
mod frame;
mod port_client;
mod protocol;
pub use api::*;
pub use client::RbkClient;
pub use error::{RbkError, RbkResult};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_request_types_exist() {
let _ = CommonInfoRequest::new();
let _ = BatteryStatusRequest::new();
let _ = StopExerciseRequest::new();
let _ = MoveToTargetRequest::new(MoveToTarget::new("target1"));
let _ = MoveToTarget::new("target1").into_request();
let _ = SwitchMapRequest::new();
let _ = LoadJackRequest::new();
}
#[test]
fn test_request_body_serialization() {
use crate::api::ToRequestBody;
let request = CommonInfoRequest::new();
assert_eq!(request.to_request_body().unwrap(), "");
let api = request.to_api_request();
assert_eq!(api.api_no(), 1000);
}
#[test]
fn test_response_type_associations() {
use crate::api::FromResponseBody;
type Response = <CommonInfoRequest as FromResponseBody>::Response;
let _: Response = CommonInfo {
id: "robot1".to_string(),
version: "1.0".to_string(),
model: "RBK-1".to_string(),
code: None,
message: "".to_string(),
};
}
}