From 1be22c3ab355845de360111e32ccbe30efe3db24 Mon Sep 17 00:00:00 2001 From: Nadav Ivgi Date: Wed, 6 Jan 2021 00:02:29 +0200 Subject: [PATCH] Add tests for binary serialization via bincode --- Cargo.toml | 1 + src/lib.rs | 1 + src/util/uint.rs | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 09c4760194..af149f3d2e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,6 +35,7 @@ serde = { version = "1", optional = true } serde_derive = "<1.0.99" serde_json = "<1.0.45" serde_test = "1" +bincode = "1.3.1" secp256k1 = { version = "0.19.0", features = [ "recovery", "rand-std" ] } # We need to pin ryu (transitive dep from serde_json) to stay compatible with Rust 1.22.0 ryu = "<1.0.5" diff --git a/src/lib.rs b/src/lib.rs index 790b6182ca..31ac98ae14 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -48,6 +48,7 @@ pub extern crate bech32; #[cfg(all(test, feature = "serde"))] #[macro_use] extern crate serde_derive; // for 1.22.0 compat #[cfg(all(test, feature = "serde"))] extern crate serde_json; #[cfg(all(test, feature = "serde"))] extern crate serde_test; +#[cfg(all(test, feature = "serde"))] extern crate bincode; #[cfg(all(test, feature = "unstable"))] extern crate test; #[cfg(target_pointer_width = "16")] diff --git a/src/util/uint.rs b/src/util/uint.rs index f872e3cbf3..3f5be4a12c 100644 --- a/src/util/uint.rs +++ b/src/util/uint.rs @@ -721,6 +721,10 @@ mod tests { let json = format!("\"{}\"", hex); assert_eq!(::serde_json::to_string(&uint).unwrap(), json); assert_eq!(::serde_json::from_str::(&json).unwrap(), uint); + + let bin_encoded = ::bincode::serialize(&uint).unwrap(); + let bin_decoded: Uint256 = ::bincode::deserialize(&bin_encoded).unwrap(); + assert_eq!(bin_decoded, uint); }; check(