From a5e26965f5f0fc8fbecb401f552826ce367ca7ec Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 5 Dec 2018 13:50:35 +0100 Subject: openpgp: Add roundtrip tests for packages. --- openpgp/src/packet/userid.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'openpgp/src/packet/userid.rs') diff --git a/openpgp/src/packet/userid.rs b/openpgp/src/packet/userid.rs index 8459fd91..d88b06b2 100644 --- a/openpgp/src/packet/userid.rs +++ b/openpgp/src/packet/userid.rs @@ -1,4 +1,5 @@ use std::fmt; +use quickcheck::{Arbitrary, Gen}; use packet; use Packet; @@ -94,3 +95,26 @@ impl From for Packet { s.to_packet() } } + +impl Arbitrary for UserID { + fn arbitrary(g: &mut G) -> Self { + let mut u = UserID::new(); + u.set_userid_from_bytes(&Vec::::arbitrary(g)); + u + } +} + +#[cfg(test)] +mod tests { + use super::*; + use parse::Parse; + use serialize::Serialize; + + quickcheck! { + fn roundtrip(p: UserID) -> bool { + let q = UserID::from_bytes(&p.to_vec().unwrap()).unwrap(); + assert_eq!(p, q); + true + } + } +} -- cgit v1.2.3