@@ -65,10 +65,27 @@ class FloatStooges(float, Enum):
65
65
class FlagStooges (Flag ):
66
66
LARRY = 1
67
67
CURLY = 2
68
- MOE = 3
68
+ MOE = 4
69
69
except Exception as exc :
70
70
FlagStooges = exc
71
71
72
+ class FlagStoogesWithZero (Flag ):
73
+ NOFLAG = 0
74
+ LARRY = 1
75
+ CURLY = 2
76
+ MOE = 4
77
+
78
+ class IntFlagStooges (IntFlag ):
79
+ LARRY = 1
80
+ CURLY = 2
81
+ MOE = 4
82
+
83
+ class IntFlagStoogesWithZero (IntFlag ):
84
+ NOFLAG = 0
85
+ LARRY = 1
86
+ CURLY = 2
87
+ MOE = 4
88
+
72
89
# for pickle test and subclass tests
73
90
class Name (StrEnum ):
74
91
BDFL = 'Guido van Rossum'
@@ -2956,9 +2973,32 @@ def test_programatic_function_from_dict(self):
2956
2973
def test_pickle (self ):
2957
2974
if isinstance (FlagStooges , Exception ):
2958
2975
raise FlagStooges
2959
- test_pickle_dump_load (self .assertIs , FlagStooges .CURLY | FlagStooges .MOE )
2976
+ test_pickle_dump_load (self .assertIs , FlagStooges .CURLY )
2977
+ test_pickle_dump_load (self .assertEqual ,
2978
+ FlagStooges .CURLY | FlagStooges .MOE )
2979
+ test_pickle_dump_load (self .assertEqual ,
2980
+ FlagStooges .CURLY & ~ FlagStooges .CURLY )
2960
2981
test_pickle_dump_load (self .assertIs , FlagStooges )
2961
2982
2983
+ test_pickle_dump_load (self .assertIs , FlagStoogesWithZero .CURLY )
2984
+ test_pickle_dump_load (self .assertEqual ,
2985
+ FlagStoogesWithZero .CURLY | FlagStoogesWithZero .MOE )
2986
+ test_pickle_dump_load (self .assertIs , FlagStoogesWithZero .NOFLAG )
2987
+
2988
+ test_pickle_dump_load (self .assertIs , IntFlagStooges .CURLY )
2989
+ test_pickle_dump_load (self .assertEqual ,
2990
+ IntFlagStooges .CURLY | IntFlagStooges .MOE )
2991
+ test_pickle_dump_load (self .assertEqual ,
2992
+ IntFlagStooges .CURLY | IntFlagStooges .MOE | 0x30 )
2993
+ test_pickle_dump_load (self .assertEqual , IntFlagStooges (0 ))
2994
+ test_pickle_dump_load (self .assertEqual , IntFlagStooges (0x30 ))
2995
+ test_pickle_dump_load (self .assertIs , IntFlagStooges )
2996
+
2997
+ test_pickle_dump_load (self .assertIs , IntFlagStoogesWithZero .CURLY )
2998
+ test_pickle_dump_load (self .assertEqual ,
2999
+ IntFlagStoogesWithZero .CURLY | IntFlagStoogesWithZero .MOE )
3000
+ test_pickle_dump_load (self .assertIs , IntFlagStoogesWithZero .NOFLAG )
3001
+
2962
3002
@unittest .skipIf (
2963
3003
python_version >= (3 , 12 ),
2964
3004
'__contains__ now returns True/False for all inputs' ,
0 commit comments