use crate::deserializer::iter::Property;
impl<'a, 'b: 'a> Property<'a, 'b> {
#[must_use]
pub fn as_bool(&self) -> Option<bool> {
match self.as_i64()? {
0 => Some(false),
1 => Some(true),
_ => None,
}
}
}
#[cfg(test)]
mod tests {
use crate::deserializer::foundation::test_support::load;
use crate::deserializer::typedstream::TypedStreamDeserializer;
#[test]
fn as_bool_reads_boolean() {
let bytes = load("foundation/NumberBool"); let mut ts = TypedStreamDeserializer::new(&bytes);
let root = ts.oxidize().unwrap();
let group = ts.resolve_properties(root).unwrap().next().unwrap();
assert_eq!(group.as_bool(), Some(true));
assert_eq!(group.as_i64(), Some(1));
}
}