example-constants-and-functions.py 3.14 KB
Newer Older
1
2
3
4
5
6
7
8
#!/usr/bin/env python
from __future__ import print_function
import sys
sys.path.append('.')

from example import test_function
from example import some_constant
from example import EMyEnumeration
9
from example import ECMyEnum, test_ecenum
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from example import EFirstEntry
from example import ExampleWithEnum
from example import return_bytes
from example import print_bytes

print(EMyEnumeration)
print(EMyEnumeration.EFirstEntry)
print(EMyEnumeration.ESecondEntry)
print(EFirstEntry)

print(test_function())
print(test_function(7))
print(test_function(EMyEnumeration.EFirstEntry))
print(test_function(EMyEnumeration.ESecondEntry))
24
test_ecenum(ECMyEnum.Three)
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
z = ECMyEnum.Two
test_ecenum(z)
try:
    z == 2
    print("Bad: expected a TypeError exception")
except TypeError:
    try:
        z != 3
        print("Bad: expected a TypeError exception")
    except TypeError:
        print("Good: caught expected TypeError exceptions for scoped enum ==/!= int comparisons")

y = EMyEnumeration.ESecondEntry
try:
    y == 2
    y != 2
    print("Good: no TypeError exception for unscoped enum ==/!= int comparisions")
except TypeError:
    print("Bad: caught TypeError exception for unscoped enum ==/!= int comparisons")

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
print("enum->integer = %i" % int(EMyEnumeration.ESecondEntry))
print("integer->enum = %s" % str(EMyEnumeration(2)))

print("A constant = " + str(some_constant))

print(ExampleWithEnum.EMode)
print(ExampleWithEnum.EMode.EFirstMode)
print(ExampleWithEnum.EFirstMode)
ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)

print("Equality test 1: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)))

print("Inequality test 1: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)))

print("Equality test 2: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
    ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode)))

print("Inequality test 2: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
    ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode)))

71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
print("Equality test 3: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
    int(ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode))))

print("Inequality test 3: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
    int(ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode))))

print("Equality test 4: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
    int(ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode))))

print("Inequality test 4: " + str(
    ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
    int(ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode))))

87
88
89
90
91
92
93
94
95
96
x = {
        ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode): 1,
        ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode): 2
}

x[ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)] = 3
x[ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode)] = 4
print("Hashing test = " + str(x))

print_bytes(return_bytes())