1 #[cfg(test)] 2 macro_rules! test_serde_symmetry { 3 (subject: $s:expr, json: $j:expr) => { 4 // Serialize: 5 { 6 let actual = serde_json::to_value($s.clone()).unwrap(); 7 let expected = $j.clone(); 8 9 assert_eq!(actual, expected); 10 } 11 12 // Deserialize: 13 { 14 let actual: Subject = serde_json::from_value($j).unwrap(); 15 let expected = $s; 16 17 assert_eq!(actual, expected); 18 } 19 }; 20 } 21 22 #[cfg(test)] 23 pub(crate) use test_serde_symmetry; 24