use core::fmt::Debug;
use serde::{de::DeserializeOwned, Serialize};
use crate::signature::{Ed25519Signature, Signature};
pub fn test_serialization_roundtrip<T>(json_data: &str)
where
T: Debug + PartialEq + Serialize + DeserializeOwned,
{
let parsed0 = serde_json::from_str::<T>(json_data);
assert!(parsed0.is_ok());
let parsed0 = parsed0.unwrap();
let serialized = serde_json::to_string(&parsed0);
assert!(serialized.is_ok());
let serialized = serialized.unwrap();
let parsed1 = serde_json::from_str::<T>(&serialized);
assert!(parsed1.is_ok());
let parsed1 = parsed1.unwrap();
assert_eq!(parsed0, parsed1);
}
pub fn dummy_signature() -> Signature {
Signature::from(Ed25519Signature::from_bytes(
&[0; Ed25519Signature::BYTE_SIZE],
))
}