serde-smile 0.3.1

A Smile implementation for Serde
Documentation
use serde::de::DeserializeOwned;
use serde::Serialize;
use std::fmt::Debug;

fn run_test<T>(value: T)
where
    T: Serialize + DeserializeOwned + PartialEq + Debug,
{
    let bytes = crate::to_vec(&value).unwrap();
    let actual = crate::from_slice(&bytes).unwrap();
    assert_eq!(value, actual);
}

#[test]
fn u64() {
    run_test(u64::MAX)
}

#[test]
fn u128() {
    run_test(0u128);
    run_test(u128::MAX);
    run_test(1u128 << 115);
}

#[test]
fn i128() {
    run_test(0i128);
    run_test(i128::MIN);
    run_test(i128::MAX);
    run_test(1i128 << 115);
    run_test(-(1i128 << 115));
}