@@ -671,21 +671,22 @@ class Inner:
671671 class Outer :
672672 i : Annotated [Inner , "test" ]
673673 j : List [Annotated [Inner , "test" ]]
674+ k : Annotated [Union [Inner , None ], "test" ]
674675
675- orig = Outer (Inner (1 ), [Inner (1 )])
676+ orig = Outer (Inner (1 ), [Inner (1 )], Inner ( 1 ) )
676677 raw = converter .unstructure (orig )
677678
678- assert raw == {"i" : {"a" : 1 }, "j" : [{"a" : 1 }]}
679+ assert raw == {"i" : {"a" : 1 }, "j" : [{"a" : 1 }], "k" : { "a" : 1 } }
679680
680681 structured = converter .structure (raw , Outer )
681682 assert structured == orig
682683
683684 # Now register a hook and rerun the test.
684- converter .register_unstructure_hook (Inner , lambda v : {"a" : 2 })
685+ converter .register_unstructure_hook (Inner , lambda _ : {"a" : 2 })
685686
686- raw = converter .unstructure (Outer (Inner (1 ), [Inner (1 )]))
687+ raw = converter .unstructure (Outer (Inner (1 ), [Inner (1 )], Inner ( 1 ) ))
687688
688- assert raw == {"i" : {"a" : 2 }, "j" : [{"a" : 2 }]}
689+ assert raw == {"i" : {"a" : 2 }, "j" : [{"a" : 2 }], "k" : { "a" : 2 } }
689690
690691 structured = converter .structure (raw , Outer )
691- assert structured == Outer (Inner (2 ), [Inner (2 )])
692+ assert structured == Outer (Inner (2 ), [Inner (2 )], Inner ( 2 ) )
0 commit comments