Diffstat (limited to 'tests/serde_deserializer.rs')
-rw-r--r--tests/serde_deserializer.rs21
1 files changed, 19 insertions, 2 deletions
diff --git a/tests/serde_deserializer.rs b/tests/serde_deserializer.rs
index acb2e56..6d50279 100644
--- a/tests/serde_deserializer.rs
+++ b/tests/serde_deserializer.rs
@@ -28,13 +28,30 @@ fn demo2() {
struct X {
a: bool,
b: i64,
+ c: Y,
+}
+
+#[derive(Build!, Debug, PartialEq)]
+struct Y {
+ name: String,
+ age: u8,
}
#[test]
fn demo3() {
- let x = json!({ "a": true, "b": 42 });
+ let x = json!({ "a": true, "b": 42, "c": { "name": "hi", "age": 200 }});
let y = X::build(DeserializerWalker::new(x));
- assert_eq!(y.unwrap(), X { a: true, b: 42 });
+ assert_eq!(
+ y.unwrap(),
+ X {
+ a: true,
+ b: 42,
+ c: Y {
+ name: "hi".into(),
+ age: 200
+ }
+ }
+ );
}