@@ -3163,19 +3163,34 @@ class NTEnum(Enum):
3163
3163
[x .value for x in NTEnum ],
3164
3164
[TTuple (id = 0 , a = 0 , blist = []), TTuple (id = 1 , a = 2 , blist = [4 ]), TTuple (id = 2 , a = 4 , blist = [0 , 1 , 2 ])],
3165
3165
)
3166
+
3167
+ self .assertRaises (AttributeError , getattr , NTEnum .NONE , 'id' )
3168
+ #
3169
+ class NTCEnum (TTuple , Enum ):
3170
+ NONE = 0 , 0 , []
3171
+ A = 1 , 2 , [4 ]
3172
+ B = 2 , 4 , [0 , 1 , 2 ]
3173
+ self .assertEqual (repr (NTCEnum .NONE ), "<NTCEnum.NONE: TTuple(id=0, a=0, blist=[])>" )
3174
+ self .assertEqual (NTCEnum .NONE .value , TTuple (id = 0 , a = 0 , blist = []))
3175
+ self .assertEqual (NTCEnum .NONE .id , 0 )
3176
+ self .assertEqual (NTCEnum .A .a , 2 )
3177
+ self .assertEqual (NTCEnum .B .blist , [0 , 1 ,2 ])
3178
+ self .assertEqual (
3179
+ [x .value for x in NTCEnum ],
3180
+ [TTuple (id = 0 , a = 0 , blist = []), TTuple (id = 1 , a = 2 , blist = [4 ]), TTuple (id = 2 , a = 4 , blist = [0 , 1 , 2 ])],
3181
+ )
3166
3182
#
3167
3183
class NTDEnum (Enum ):
3168
- def __new__ (cls , t_value ):
3184
+ def __new__ (cls , id , a , blist ):
3169
3185
member = object .__new__ (cls )
3170
- member ._value_ = t_value [0 ]
3171
- member .id = t_value [0 ]
3172
- member .a = t_value [1 ]
3173
- member .blist = t_value [2 ]
3186
+ member .id = id
3187
+ member .a = a
3188
+ member .blist = blist
3174
3189
return member
3175
3190
NONE = TTuple (0 , 0 , [])
3176
3191
A = TTuple (1 , 2 , [4 ])
3177
3192
B = TTuple (2 , 4 , [0 , 1 , 2 ])
3178
- self .assertEqual (repr (NTDEnum .NONE ), "<NTDEnum.NONE: 0 >" )
3193
+ self .assertEqual (repr (NTDEnum .NONE ), "<NTDEnum.NONE: TTuple(id=0, a=0, blist=[]) >" )
3179
3194
self .assertEqual (NTDEnum .NONE .id , 0 )
3180
3195
self .assertEqual (NTDEnum .A .a , 2 )
3181
3196
self .assertEqual (NTDEnum .B .blist , [0 , 1 ,2 ])
0 commit comments