@@ -3201,19 +3201,34 @@ class NTEnum(Enum):
3201
3201
[x .value for x in NTEnum ],
3202
3202
[TTuple (id = 0 , a = 0 , blist = []), TTuple (id = 1 , a = 2 , blist = [4 ]), TTuple (id = 2 , a = 4 , blist = [0 , 1 , 2 ])],
3203
3203
)
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
+ )
3204
3220
#
3205
3221
class NTDEnum (Enum ):
3206
- def __new__ (cls , t_value ):
3222
+ def __new__ (cls , id , a , blist ):
3207
3223
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
3212
3227
return member
3213
3228
NONE = TTuple (0 , 0 , [])
3214
3229
A = TTuple (1 , 2 , [4 ])
3215
3230
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=[]) >" )
3217
3232
self .assertEqual (NTDEnum .NONE .id , 0 )
3218
3233
self .assertEqual (NTDEnum .A .a , 2 )
3219
3234
self .assertEqual (NTDEnum .B .blist , [0 , 1 ,2 ])
0 commit comments