2015-04-11 01:55:59 +00:00
|
|
|
// Rust Bitcoin Library
|
|
|
|
// Written in 2014 by
|
|
|
|
// Andrew Poelstra <apoelstra@wpsoftware.net>
|
|
|
|
//
|
|
|
|
// To the extent possible under law, the author(s) have dedicated all
|
|
|
|
// copyright and related and neighboring rights to this software to
|
|
|
|
// the public domain worldwide. This software is distributed without
|
|
|
|
// any warranty.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the CC0 Public Domain Dedication
|
|
|
|
// along with this software.
|
|
|
|
// If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
|
|
//
|
|
|
|
|
2018-08-08 21:38:50 +00:00
|
|
|
//! Macros
|
2015-04-11 01:55:59 +00:00
|
|
|
//!
|
|
|
|
//! Internal macros used for unit tests
|
|
|
|
|
|
|
|
#[macro_export]
|
2018-08-20 16:37:19 +00:00
|
|
|
#[cfg(all(feature = "serde", feature = "strason"))]
|
2015-04-11 01:55:59 +00:00
|
|
|
macro_rules! serde_round_trip (
|
|
|
|
($var:expr) => ({
|
2018-08-20 16:37:19 +00:00
|
|
|
use $crate::strason::Json;
|
2015-04-11 01:55:59 +00:00
|
|
|
|
|
|
|
let start = $var;
|
2018-08-20 16:37:19 +00:00
|
|
|
let encoded = Json::from_serialize(&start).unwrap();
|
2015-11-22 15:46:05 +00:00
|
|
|
let decoded = encoded.into_deserialize().unwrap();
|
|
|
|
assert_eq!(start, decoded);
|
2015-04-11 01:55:59 +00:00
|
|
|
})
|
|
|
|
);
|
|
|
|
|