data-stream 0.3.1

A simple serialization library based on streams
Documentation
mod shared;
use shared::assert_streamed_eq;

use data_stream::{default_settings::PortableSettings, from_stream, to_stream};

#[test]
fn bool_roundtrip_true() {
    assert_streamed_eq::<PortableSettings, _>(&true);
}

#[test]
fn bool_roundtrip_false() {
    assert_streamed_eq::<PortableSettings, _>(&false);
}

#[test]
fn bool_binary_true_false() {
    let mut t = Vec::new();
    to_stream::<PortableSettings, _, _>(&true, &mut t).unwrap();
    assert_eq!(t, vec![1]);

    let mut f = Vec::new();
    to_stream::<PortableSettings, _, _>(&false, &mut f).unwrap();
    assert_eq!(f, vec![0]);
}

#[test]
fn bool_invalid_byte_fails() {
    let bytes = [2u8];
    let result = from_stream::<PortableSettings, bool, _>(&mut &bytes[..]);
    assert!(result.is_err());
}