#[cfg(test)]
mod tests {
use crate::SenMLRecord;
use struson::reader::{JsonReader, JsonStreamReader};
#[test]
fn test_stream() -> Result<(), Box<dyn std::error::Error>> {
let json = r#"[{"n":"temperature","v":42.0}]"#;
let reader = std::io::BufReader::new(json.as_bytes());
let mut json_reader = JsonStreamReader::new(reader);
json_reader.begin_array().expect("Begin array error");
while json_reader.has_next()? {
let record: SenMLRecord = json_reader.deserialize_next()?;
assert_eq!(record.name.as_deref(), Some("temperature"));
assert_eq!(record.value, Some(42.0));
}
json_reader.end_array()?;
json_reader.consume_trailing_whitespace()?;
Ok(())
}
}