blob: 852902f0770c2f50e9a668fc48ed2a99badbd8ca [file] [log] [blame]
Jason Rhinelanderb3f3d792016-07-18 16:43:18 -04001#!/usr/bin/env python
2from __future__ import print_function
3import sys
4sys.path.append('.')
5
6from example import test_function
7from example import some_constant
8from example import EMyEnumeration
Jason Rhinelander61354192016-08-03 23:45:08 -04009from example import ECMyEnum, test_ecenum
Jason Rhinelanderb3f3d792016-07-18 16:43:18 -040010from example import EFirstEntry
11from example import ExampleWithEnum
12from example import return_bytes
13from example import print_bytes
14
15print(EMyEnumeration)
16print(EMyEnumeration.EFirstEntry)
17print(EMyEnumeration.ESecondEntry)
18print(EFirstEntry)
19
20print(test_function())
21print(test_function(7))
22print(test_function(EMyEnumeration.EFirstEntry))
23print(test_function(EMyEnumeration.ESecondEntry))
Jason Rhinelander61354192016-08-03 23:45:08 -040024test_ecenum(ECMyEnum.Three)
Jason Rhinelanderd41a2732016-08-04 00:21:37 -040025z = ECMyEnum.Two
26test_ecenum(z)
27try:
28 z == 2
29 print("Bad: expected a TypeError exception")
30except TypeError:
31 try:
32 z != 3
33 print("Bad: expected a TypeError exception")
34 except TypeError:
35 print("Good: caught expected TypeError exceptions for scoped enum ==/!= int comparisons")
36
37y = EMyEnumeration.ESecondEntry
38try:
39 y == 2
40 y != 2
41 print("Good: no TypeError exception for unscoped enum ==/!= int comparisions")
42except TypeError:
43 print("Bad: caught TypeError exception for unscoped enum ==/!= int comparisons")
44
Jason Rhinelanderb3f3d792016-07-18 16:43:18 -040045print("enum->integer = %i" % int(EMyEnumeration.ESecondEntry))
46print("integer->enum = %s" % str(EMyEnumeration(2)))
47
48print("A constant = " + str(some_constant))
49
50print(ExampleWithEnum.EMode)
51print(ExampleWithEnum.EMode.EFirstMode)
52print(ExampleWithEnum.EFirstMode)
53ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)
54
55print("Equality test 1: " + str(
56 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
57 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)))
58
59print("Inequality test 1: " + str(
60 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
61 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)))
62
63print("Equality test 2: " + str(
64 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
65 ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode)))
66
67print("Inequality test 2: " + str(
68 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
69 ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode)))
70
Pim Schellarte5b42ef2016-08-02 10:58:32 -040071print("Equality test 3: " + str(
72 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
73 int(ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode))))
74
75print("Inequality test 3: " + str(
76 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
77 int(ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode))))
78
79print("Equality test 4: " + str(
80 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) ==
81 int(ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode))))
82
83print("Inequality test 4: " + str(
84 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode) !=
85 int(ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode))))
86
Jason Rhinelanderb3f3d792016-07-18 16:43:18 -040087x = {
88 ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode): 1,
89 ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode): 2
90}
91
92x[ExampleWithEnum.test_function(ExampleWithEnum.EFirstMode)] = 3
93x[ExampleWithEnum.test_function(ExampleWithEnum.ESecondMode)] = 4
94print("Hashing test = " + str(x))
95
96print_bytes(return_bytes())