use serde::Deserialize;
#[derive(Clone, PartialEq, Eq, Debug, Deserialize)]
pub struct Truncate(pub bool);
impl Default for Truncate {
fn default() -> Self {
Truncate(true)
}
}
#[cfg(test)]
mod test {
use super::*;
use pretty_assertions::assert_eq;
use serde_json::json;
#[derive(Debug, PartialEq, Eq, Deserialize)]
struct Payload {
#[serde(default)]
truncate: Truncate,
}
#[test]
fn deserialize() {
assert_eq!(
serde_json::from_value::<Payload>(json!({ "truncate": false })).ok(),
Some(Payload { truncate: Truncate(false) })
);
}
#[test]
fn default() {
assert_eq!(
serde_json::from_value::<Payload>(json!({})).ok(),
Some(Payload { truncate: Truncate(true) })
);
}
}