@@ -3201,19 +3201,34 @@ class NTEnum(Enum):
32013201 [x .value for x in NTEnum ],
32023202 [TTuple (id = 0 , a = 0 , blist = []), TTuple (id = 1 , a = 2 , blist = [4 ]), TTuple (id = 2 , a = 4 , blist = [0 , 1 , 2 ])],
32033203 )
3204+
3205+ self .assertRaises (AttributeError , getattr , NTEnum .NONE , 'id' )
3206+ #
3207+ class NTCEnum (TTuple , Enum ):
3208+ NONE = 0 , 0 , []
3209+ A = 1 , 2 , [4 ]
3210+ B = 2 , 4 , [0 , 1 , 2 ]
3211+ self .assertEqual (repr (NTCEnum .NONE ), "<NTCEnum.NONE: TTuple(id=0, a=0, blist=[])>" )
3212+ self .assertEqual (NTCEnum .NONE .value , TTuple (id = 0 , a = 0 , blist = []))
3213+ self .assertEqual (NTCEnum .NONE .id , 0 )
3214+ self .assertEqual (NTCEnum .A .a , 2 )
3215+ self .assertEqual (NTCEnum .B .blist , [0 , 1 ,2 ])
3216+ self .assertEqual (
3217+ [x .value for x in NTCEnum ],
3218+ [TTuple (id = 0 , a = 0 , blist = []), TTuple (id = 1 , a = 2 , blist = [4 ]), TTuple (id = 2 , a = 4 , blist = [0 , 1 , 2 ])],
3219+ )
32043220 #
32053221 class NTDEnum (Enum ):
3206- def __new__ (cls , t_value ):
3222+ def __new__ (cls , id , a , blist ):
32073223 member = object .__new__ (cls )
3208- member ._value_ = t_value [0 ]
3209- member .id = t_value [0 ]
3210- member .a = t_value [1 ]
3211- member .blist = t_value [2 ]
3224+ member .id = id
3225+ member .a = a
3226+ member .blist = blist
32123227 return member
32133228 NONE = TTuple (0 , 0 , [])
32143229 A = TTuple (1 , 2 , [4 ])
32153230 B = TTuple (2 , 4 , [0 , 1 , 2 ])
3216- self .assertEqual (repr (NTDEnum .NONE ), "<NTDEnum.NONE: 0 >" )
3231+ self .assertEqual (repr (NTDEnum .NONE ), "<NTDEnum.NONE: TTuple(id=0, a=0, blist=[]) >" )
32173232 self .assertEqual (NTDEnum .NONE .id , 0 )
32183233 self .assertEqual (NTDEnum .A .a , 2 )
32193234 self .assertEqual (NTDEnum .B .blist , [0 , 1 ,2 ])
0 commit comments