bt-diff 0.0.1

bt-diff is a safe library designed to power version control of both binary and text files.
Documentation
use bt_diff::{AxisBoundary, Diff, Result};

#[test]
fn test_serialize_and_deserialize_diff() -> Result<()> {
    let a = vec![0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF];
    let b = vec![0xFF, 0x88, 0xFF, 0xFF, 0x88, 0xFF, 0xFF, 0xFF];
    let diff = bt_diff::diff(&a, &b, AxisBoundary::Len(2))?;

    let bytes = diff.to_flate_bytes()?;
    assert_eq!(bytes.len(), 48);
    assert_eq!(
        bytes,
        vec![
            133, 142, 49, 18, 0, 48, 4, 4, 35, 154, 60, 61, 191, 166, 65, 129, 67, 195, 140, 157,
            189, 123, 167, 31, 178, 45, 229, 128, 196, 207, 31, 236, 192, 132, 59, 46, 76, 161,
            141, 8, 7, 175, 61, 120, 116, 120, 130, 2
        ]
    );
    let des_bytes = Diff::from_deflate_bytes(&bytes)?;
    assert_eq!(diff, des_bytes);
    assert_eq!(bytes, des_bytes.to_flate_bytes()?);
    Ok(())
}