@@ -66,10 +66,27 @@ class FloatStooges(float, Enum):
66
66
class FlagStooges (Flag ):
67
67
LARRY = 1
68
68
CURLY = 2
69
- MOE = 3
69
+ MOE = 4
70
70
except Exception as exc :
71
71
FlagStooges = exc
72
72
73
+ class FlagStoogesWithZero (Flag ):
74
+ NOFLAG = 0
75
+ LARRY = 1
76
+ CURLY = 2
77
+ MOE = 4
78
+
79
+ class IntFlagStooges (IntFlag ):
80
+ LARRY = 1
81
+ CURLY = 2
82
+ MOE = 4
83
+
84
+ class IntFlagStoogesWithZero (IntFlag ):
85
+ NOFLAG = 0
86
+ LARRY = 1
87
+ CURLY = 2
88
+ MOE = 4
89
+
73
90
# for pickle test and subclass tests
74
91
class Name (StrEnum ):
75
92
BDFL = 'Guido van Rossum'
@@ -2964,9 +2981,32 @@ def test_programatic_function_from_dict(self):
2964
2981
def test_pickle (self ):
2965
2982
if isinstance (FlagStooges , Exception ):
2966
2983
raise FlagStooges
2967
- test_pickle_dump_load (self .assertIs , FlagStooges .CURLY | FlagStooges .MOE )
2984
+ test_pickle_dump_load (self .assertIs , FlagStooges .CURLY )
2985
+ test_pickle_dump_load (self .assertEqual ,
2986
+ FlagStooges .CURLY | FlagStooges .MOE )
2987
+ test_pickle_dump_load (self .assertEqual ,
2988
+ FlagStooges .CURLY & ~ FlagStooges .CURLY )
2968
2989
test_pickle_dump_load (self .assertIs , FlagStooges )
2969
2990
2991
+ test_pickle_dump_load (self .assertIs , FlagStoogesWithZero .CURLY )
2992
+ test_pickle_dump_load (self .assertEqual ,
2993
+ FlagStoogesWithZero .CURLY | FlagStoogesWithZero .MOE )
2994
+ test_pickle_dump_load (self .assertIs , FlagStoogesWithZero .NOFLAG )
2995
+
2996
+ test_pickle_dump_load (self .assertIs , IntFlagStooges .CURLY )
2997
+ test_pickle_dump_load (self .assertEqual ,
2998
+ IntFlagStooges .CURLY | IntFlagStooges .MOE )
2999
+ test_pickle_dump_load (self .assertEqual ,
3000
+ IntFlagStooges .CURLY | IntFlagStooges .MOE | 0x30 )
3001
+ test_pickle_dump_load (self .assertEqual , IntFlagStooges (0 ))
3002
+ test_pickle_dump_load (self .assertEqual , IntFlagStooges (0x30 ))
3003
+ test_pickle_dump_load (self .assertIs , IntFlagStooges )
3004
+
3005
+ test_pickle_dump_load (self .assertIs , IntFlagStoogesWithZero .CURLY )
3006
+ test_pickle_dump_load (self .assertEqual ,
3007
+ IntFlagStoogesWithZero .CURLY | IntFlagStoogesWithZero .MOE )
3008
+ test_pickle_dump_load (self .assertIs , IntFlagStoogesWithZero .NOFLAG )
3009
+
2970
3010
@unittest .skipIf (
2971
3011
python_version >= (3 , 12 ),
2972
3012
'__contains__ now returns True/False for all inputs' ,
0 commit comments