You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
867 B

from enum import IntEnum, Flag, Enum, auto
def test_enum_flag():
class pippo(int, Flag):
A = 0x01
B = 0x02
C = 0x03
f1 = pippo.A
f2 = pippo.B
f3 = pippo.C
f4 = pippo.A | pippo.B
print(f1)
print(f2)
print(f3)
print(f4)
print(f1.value)
print(f2.value)
print(f3.value)
print(f4.value)
print(bool(pippo.A & f1))
print(bool(pippo.A & f2))
print(bool(pippo.A & f3))
print(bool(pippo.A & f4))
print(int(f1))
print(int(f2))
print(int(f3))
print(int(f4))
print(f"{int(f1):03X}")
print(f"{int(f2):03X}")
print(f"{int(f3):03X}")
print(f"{int(f4):03X}")
def test_enum_flag():
class Pippo(str, Enum):
A = '0x01'
B = '0x02'
C = '0x03'
a = Pippo.A
assert isinstance(a,Pippo)
assert isinstance(a,(Pippo,))