Add tests for generic_array serialized size

generic_array v0.12 no longer serializes GenericArray as a Vec,
which reduces the serialized size of PublicKey, Signature, and
SecretKey by 8 bytes. Now that generic_array has been upgraded,
these tests simply ensure the serialization size doesn't change
in the future.
This commit is contained in:
Greg Fitzgerald 2018-10-23 23:14:29 -06:00
parent 12c5777b23
commit 680f68be31

View file

@ -1629,7 +1629,10 @@ mod test {
}
#[cfg(all(test, feature = "serde"))]
use bincode::{serialize, deserialize, Infinite};
use bincode::{serialize, serialized_size, deserialize, Infinite};
#[cfg(all(test, feature = "serde"))]
use std::mem::size_of;
#[cfg(all(test, feature = "serde"))]
#[test]
@ -1660,4 +1663,29 @@ mod test {
assert_eq!(SECRET_KEY.0[i], decoded_secret_key.0[i]);
}
}
#[cfg(all(test, feature = "serde"))]
#[test]
fn serialize_public_key_size() {
assert_eq!(
serialized_size(&PUBLIC_KEY) as usize,
size_of::<PublicKey>()
);
}
#[cfg(all(test, feature = "serde"))]
#[test]
fn serialize_signature_size() {
let signature: Signature = Signature::from_bytes(&SIGNATURE_BYTES).unwrap();
assert_eq!(serialized_size(&signature) as usize, size_of::<Signature>());
}
#[cfg(all(test, feature = "serde"))]
#[test]
fn serialize_secret_key_size() {
assert_eq!(
serialized_size(&SECRET_KEY) as usize,
size_of::<SecretKey>()
);
}
}