@@ -123,14 +123,14 @@ def test_numeric_string_keys(self):
123123class TestFlattenOrderedDict :
124124 """OrderedDict preserves insertion order (not sorted like dict)."""
125125
126- def test_orderedict_preserves_insertion_order (self ):
126+ def test_ordereddict_preserves_insertion_order (self ):
127127 od = OrderedDict ([("c" , 3 ), ("a" , 1 ), ("b" , 2 )])
128128 leaves , td = _pure_tree_flatten (od )
129129 # Insertion order, not sorted
130130 assert leaves == [3 , 1 , 2 ]
131131 assert td .sorted_keys == ("c" , "a" , "b" )
132132
133- def test_orderedict_type_recorded (self ):
133+ def test_ordereddict_type_recorded (self ):
134134 od = OrderedDict ([("a" , 1 )])
135135 _ , td = _pure_tree_flatten (od )
136136 assert td .typ is OrderedDict
@@ -369,7 +369,7 @@ def test_map_over_nested(self):
369369 result = _pure_tree_map (lambda x : x + 10 , tree )
370370 assert result == {"a" : [11 , 12 ], "b" : (13 ,)}
371371
372- def test_map_preserves_orderedict_type (self ):
372+ def test_map_preserves_ordereddict_type (self ):
373373 od = OrderedDict ([("c" , 1 ), ("a" , 2 )])
374374 result = _pure_tree_map (lambda x : x * 10 , od )
375375 assert isinstance (result , OrderedDict )
@@ -435,6 +435,14 @@ def test_type_mismatch_dict_vs_list(self):
435435 with pytest .raises (ValueError , match = "structure mismatch" ):
436436 _pure_tree_map (lambda x , y : (x , y ), {"a" : 1 }, [1 ])
437437
438+ def test_defaultdict_factory_mismatch (self ):
439+ with pytest .raises (ValueError , match = "structure mismatch" ):
440+ _pure_tree_map (
441+ lambda x , y : (x , y ),
442+ defaultdict (int , {"a" : 1 }),
443+ defaultdict (list , {"a" : 2 }),
444+ )
445+
438446
439447class TestTreeMapNoArgs :
440448 """Edge case: no pytree arguments."""
0 commit comments