1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use serde::{Deserialize, Serialize};
pub mod blocks;
pub mod electrum;
pub mod txs;
#[derive(Serialize, Deserialize)]
pub struct TestData<I, E> {
#[serde(bound(serialize = "I: Serialize", deserialize = "I: Deserialize<'de>"))]
input: I,
#[serde(bound(serialize = "E: Serialize", deserialize = "E: Deserialize<'de>"))]
expected: E,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_test_data() {
let json = r#"
[{"input":1,"expected":"1"}]
"#;
let data: Vec<TestData<u32, String>> = serde_json::from_str(&json).unwrap();
assert_eq!(data[0].input, 1);
assert_eq!(data[0].expected, "1");
}
}