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.
51 lines
867 B
51 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,)) |
|
|
|
|
|
|
|
|
|
|