@@ -146,6 +146,12 @@ def test_make_engine_value_decoder_basic_types():
146
146
# Extra field in engine value for Customer (should ignore)
147
147
(Customer , ["Alice" , ["O1" , "item1" , 10.0 , "default_extra" ], [["vip" ]], "extra" ], Customer ("Alice" , Order ("O1" , "item1" , 10.0 , "default_extra" ), [Tag ("vip" )])),
148
148
(CustomerNamedTuple , ["Alice" , ["O1" , "item1" , 10.0 , "default_extra" ], [["vip" ]], "extra" ], CustomerNamedTuple ("Alice" , OrderNamedTuple ("O1" , "item1" , 10.0 , "default_extra" ), [Tag ("vip" )])),
149
+ # Missing optional field with default
150
+ (Order , ["O123" , "mixed nuts" , 25.0 ], Order ("O123" , "mixed nuts" , 25.0 , "default_extra" )),
151
+ (OrderNamedTuple , ["O123" , "mixed nuts" , 25.0 ], OrderNamedTuple ("O123" , "mixed nuts" , 25.0 , "default_extra" )),
152
+ # Partial optional fields
153
+ (Customer , ["Alice" , ["O1" , "item1" , 10.0 ]], Customer ("Alice" , Order ("O1" , "item1" , 10.0 , "default_extra" ), None )),
154
+ (CustomerNamedTuple , ["Alice" , ["O1" , "item1" , 10.0 ]], CustomerNamedTuple ("Alice" , OrderNamedTuple ("O1" , "item1" , 10.0 , "default_extra" ), None )),
149
155
]
150
156
)
151
157
def test_struct_decoder_cases (data_type , engine_val , expected ):
0 commit comments