@@ -325,7 +325,10 @@ class IntLogic(int, Enum):
325325 def test_contains (self ):
326326 Season = self .Season
327327 self .assertIn (Season .AUTUMN , Season )
328- self .assertNotIn (3 , Season )
328+ with self .assertWarns (DeprecationWarning ):
329+ self .assertNotIn (3 , Season )
330+ with self .assertWarns (DeprecationWarning ):
331+ self .assertNotIn ('AUTUMN' , Season )
329332
330333 val = Season (3 )
331334 self .assertIn (val , Season )
@@ -334,6 +337,11 @@ class OtherEnum(Enum):
334337 one = 1 ; two = 2
335338 self .assertNotIn (OtherEnum .two , Season )
336339
340+ def test_member_contains (self ):
341+ self .assertRaises (TypeError , lambda : 'test' in self .Season .AUTUMN )
342+ self .assertRaises (TypeError , lambda : 3 in self .Season .AUTUMN )
343+ self .assertRaises (TypeError , lambda : 'AUTUMN' in self .Season .AUTUMN )
344+
337345 def test_comparisons (self ):
338346 Season = self .Season
339347 with self .assertRaises (TypeError ):
@@ -1745,6 +1753,13 @@ class TestFlag(unittest.TestCase):
17451753 class Perm (Flag ):
17461754 R , W , X = 4 , 2 , 1
17471755
1756+ class Color (Flag ):
1757+ BLACK = 0
1758+ RED = 1
1759+ GREEN = 2
1760+ BLUE = 4
1761+ PURPLE = RED | BLUE
1762+
17481763 class Open (Flag ):
17491764 RO = 0
17501765 WO = 1
@@ -1954,7 +1969,21 @@ def test_pickle(self):
19541969 test_pickle_dump_load (self .assertIs , FlagStooges .CURLY | FlagStooges .MOE )
19551970 test_pickle_dump_load (self .assertIs , FlagStooges )
19561971
1957- def test_containment (self ):
1972+ def test_contains (self ):
1973+ Open = self .Open
1974+ Color = self .Color
1975+ self .assertFalse (Color .BLACK in Open )
1976+ self .assertFalse (Open .RO in Color )
1977+ with self .assertWarns (DeprecationWarning ):
1978+ self .assertFalse ('BLACK' in Color )
1979+ with self .assertWarns (DeprecationWarning ):
1980+ self .assertFalse ('RO' in Open )
1981+ with self .assertWarns (DeprecationWarning ):
1982+ self .assertFalse (1 in Color )
1983+ with self .assertWarns (DeprecationWarning ):
1984+ self .assertFalse (1 in Open )
1985+
1986+ def test_member_contains (self ):
19581987 Perm = self .Perm
19591988 R , W , X = Perm
19601989 RW = R | W
@@ -2065,6 +2094,13 @@ class Perm(IntFlag):
20652094 W = 1 << 1
20662095 R = 1 << 2
20672096
2097+ class Color (IntFlag ):
2098+ BLACK = 0
2099+ RED = 1
2100+ GREEN = 2
2101+ BLUE = 4
2102+ PURPLE = RED | BLUE
2103+
20682104 class Open (IntFlag ):
20692105 RO = 0
20702106 WO = 1
@@ -2340,7 +2376,23 @@ def test_programatic_function_from_empty_tuple(self):
23402376 self .assertEqual (len (lst ), len (Thing ))
23412377 self .assertEqual (len (Thing ), 0 , Thing )
23422378
2343- def test_containment (self ):
2379+ def test_contains (self ):
2380+ Color = self .Color
2381+ Open = self .Open
2382+ self .assertTrue (Color .GREEN in Color )
2383+ self .assertTrue (Open .RW in Open )
2384+ self .assertFalse (Color .GREEN in Open )
2385+ self .assertFalse (Open .RW in Color )
2386+ with self .assertWarns (DeprecationWarning ):
2387+ self .assertFalse ('GREEN' in Color )
2388+ with self .assertWarns (DeprecationWarning ):
2389+ self .assertFalse ('RW' in Open )
2390+ with self .assertWarns (DeprecationWarning ):
2391+ self .assertFalse (2 in Color )
2392+ with self .assertWarns (DeprecationWarning ):
2393+ self .assertFalse (2 in Open )
2394+
2395+ def test_member_contains (self ):
23442396 Perm = self .Perm
23452397 R , W , X = Perm
23462398 RW = R | W
@@ -2359,6 +2411,8 @@ def test_containment(self):
23592411 self .assertFalse (R in WX )
23602412 self .assertFalse (W in RX )
23612413 self .assertFalse (X in RW )
2414+ with self .assertWarns (DeprecationWarning ):
2415+ self .assertFalse ('swallow' in RW )
23622416
23632417 def test_bool (self ):
23642418 Perm = self .Perm
0 commit comments