@@ -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'
@@ -2999,9 +3016,32 @@ def test_programatic_function_from_dict(self):
2999
3016
def test_pickle (self ):
3000
3017
if isinstance (FlagStooges , Exception ):
3001
3018
raise FlagStooges
3002
- test_pickle_dump_load (self .assertIs , FlagStooges .CURLY | FlagStooges .MOE )
3019
+ test_pickle_dump_load (self .assertIs , FlagStooges .CURLY )
3020
+ test_pickle_dump_load (self .assertEqual ,
3021
+ FlagStooges .CURLY | FlagStooges .MOE )
3022
+ test_pickle_dump_load (self .assertEqual ,
3023
+ FlagStooges .CURLY & ~ FlagStooges .CURLY )
3003
3024
test_pickle_dump_load (self .assertIs , FlagStooges )
3004
3025
3026
+ test_pickle_dump_load (self .assertIs , FlagStoogesWithZero .CURLY )
3027
+ test_pickle_dump_load (self .assertEqual ,
3028
+ FlagStoogesWithZero .CURLY | FlagStoogesWithZero .MOE )
3029
+ test_pickle_dump_load (self .assertIs , FlagStoogesWithZero .NOFLAG )
3030
+
3031
+ test_pickle_dump_load (self .assertIs , IntFlagStooges .CURLY )
3032
+ test_pickle_dump_load (self .assertEqual ,
3033
+ IntFlagStooges .CURLY | IntFlagStooges .MOE )
3034
+ test_pickle_dump_load (self .assertEqual ,
3035
+ IntFlagStooges .CURLY | IntFlagStooges .MOE | 0x30 )
3036
+ test_pickle_dump_load (self .assertEqual , IntFlagStooges (0 ))
3037
+ test_pickle_dump_load (self .assertEqual , IntFlagStooges (0x30 ))
3038
+ test_pickle_dump_load (self .assertIs , IntFlagStooges )
3039
+
3040
+ test_pickle_dump_load (self .assertIs , IntFlagStoogesWithZero .CURLY )
3041
+ test_pickle_dump_load (self .assertEqual ,
3042
+ IntFlagStoogesWithZero .CURLY | IntFlagStoogesWithZero .MOE )
3043
+ test_pickle_dump_load (self .assertIs , IntFlagStoogesWithZero .NOFLAG )
3044
+
3005
3045
def test_contains_tf (self ):
3006
3046
Open = self .Open
3007
3047
Color = self .Color
0 commit comments