@@ -1693,17 +1693,24 @@ class GroupTuple:
16931693 class GroupDict :
16941694 id : int
16951695 users : Dict [str , User ]
1696+ @dataclass
1697+ class GroupFrozenDict :
1698+ id : int
1699+ users : frozendict [str , User ]
16961700 a = User ('Alice' , 1 )
16971701 b = User ('Bob' , 2 )
16981702 gl = GroupList (0 , [a , b ])
16991703 gt = GroupTuple (0 , (a , b ))
17001704 gd = GroupDict (0 , {'first' : a , 'second' : b })
1705+ gfd = GroupFrozenDict (0 , frozendict ({'first' : a , 'second' : b }))
17011706 self .assertEqual (asdict (gl ), {'id' : 0 , 'users' : [{'name' : 'Alice' , 'id' : 1 },
17021707 {'name' : 'Bob' , 'id' : 2 }]})
17031708 self .assertEqual (asdict (gt ), {'id' : 0 , 'users' : ({'name' : 'Alice' , 'id' : 1 },
17041709 {'name' : 'Bob' , 'id' : 2 })})
1705- self .assertEqual (asdict (gd ), {'id' : 0 , 'users' : {'first' : {'name' : 'Alice' , 'id' : 1 },
1706- 'second' : {'name' : 'Bob' , 'id' : 2 }}})
1710+ expected_dict = {'id' : 0 , 'users' : {'first' : {'name' : 'Alice' , 'id' : 1 },
1711+ 'second' : {'name' : 'Bob' , 'id' : 2 }}}
1712+ self .assertEqual (asdict (gd ), expected_dict )
1713+ self .assertEqual (asdict (gfd ), expected_dict )
17071714
17081715 def test_helper_asdict_builtin_object_containers (self ):
17091716 @dataclass
@@ -1884,14 +1891,21 @@ class GroupTuple:
18841891 class GroupDict :
18851892 id : int
18861893 users : Dict [str , User ]
1894+ @dataclass
1895+ class GroupFrozenDict :
1896+ id : int
1897+ users : frozendict [str , User ]
18871898 a = User ('Alice' , 1 )
18881899 b = User ('Bob' , 2 )
18891900 gl = GroupList (0 , [a , b ])
18901901 gt = GroupTuple (0 , (a , b ))
18911902 gd = GroupDict (0 , {'first' : a , 'second' : b })
1903+ gfd = GroupFrozenDict (0 , frozendict ({'first' : a , 'second' : b }))
18921904 self .assertEqual (astuple (gl ), (0 , [('Alice' , 1 ), ('Bob' , 2 )]))
18931905 self .assertEqual (astuple (gt ), (0 , (('Alice' , 1 ), ('Bob' , 2 ))))
1894- self .assertEqual (astuple (gd ), (0 , {'first' : ('Alice' , 1 ), 'second' : ('Bob' , 2 )}))
1906+ d = {'first' : ('Alice' , 1 ), 'second' : ('Bob' , 2 )}
1907+ self .assertEqual (astuple (gd ), (0 , d ))
1908+ self .assertEqual (astuple (gfd ), (0 , frozendict (d )))
18951909
18961910 def test_helper_astuple_builtin_object_containers (self ):
18971911 @dataclass
0 commit comments