__rxor__ = __xor__
-class IntFlag(int, ReprEnum, Flag, boundary=EJECT):
+class IntFlag(int, ReprEnum, Flag, boundary=KEEP):
"""
Support for integer-based Flags
"""
self.assertIs((Open.WO|Open.CE) & ~Open.WO, Open.CE)
def test_boundary(self):
- self.assertIs(enum.IntFlag._boundary_, EJECT)
+ self.assertIs(enum.IntFlag._boundary_, KEEP)
+ class Simple(IntFlag, boundary=KEEP):
+ SINGLE = 1
+ #
class Iron(IntFlag, boundary=STRICT):
ONE = 1
TWO = 2
EIGHT = 8
self.assertIs(Space._boundary_, EJECT)
#
- #
class Bizarre(IntFlag, boundary=KEEP):
b = 3
c = 4
self.assertEqual(list(Bizarre), [Bizarre.c])
self.assertIs(Bizarre(3), Bizarre.b)
self.assertIs(Bizarre(6), Bizarre.d)
+ #
+ simple = Simple.SINGLE | Iron.TWO
+ self.assertEqual(simple, 3)
+ self.assertIsInstance(simple, Simple)
+ self.assertEqual(repr(simple), '<Simple.SINGLE|<Iron.TWO: 2>: 3>')
+ self.assertEqual(str(simple), '3')
def test_iter(self):
Color = self.Color