use serde::{Deserialize, Serialize};
use super::{read::Entries, Id};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct AutoclaimResponse<'a>(
pub Id,
#[serde(borrow)]
pub Entries<'a>,
#[serde(default)]
pub Vec<Id>,
);
#[cfg(test)]
mod test {
use redust_resp::from_bytes;
use crate::model::stream::{
read::{Entries, Entry, Field, Value},
Id,
};
use super::AutoclaimResponse;
#[test]
fn de() {
let data =
b"*3\r\n+0-0\r\n*1\r\n*2\r\n+1234-5678\r\n*2\r\n$5\r\nfield\r\n$5\r\nvalue\r\n*0\r\n";
let (res, rem) = from_bytes::<AutoclaimResponse>(data).unwrap();
let mut entries = Entries::default();
let mut entry = Entry::new();
let field = Field(b"field"[..].into());
let value = Value(b"value"[..].into());
entry.insert(field, value);
entries.0.insert(Id(1234, 5678), entry);
assert_eq!(res, AutoclaimResponse(Id(0, 0), entries, Vec::new()));
assert_eq!(rem, []);
}
}