use ocpp_types::v16::{AuthorizeRequest, IdTag};
use ocpp_types::Action;
fn main() {
let request = AuthorizeRequest {
id_tag: IdTag::try_from("ABC123").expect("fits in 20 chars"),
};
let mut buf = [0u8; 256];
let json: &str = request.to_json_str(&mut buf).expect("buffer is big enough");
println!("serialized: {json}");
let parsed = AuthorizeRequest::from_json_str(json).expect("valid JSON");
assert_eq!(parsed, request);
println!("round-tripped successfully: {parsed:?}");
let mut byte_buf = [0u8; 256];
let bytes: &[u8] = request.to_json_slice(&mut byte_buf).unwrap();
println!("as bytes: {bytes:?}");
}