issues.py 1.34 KB
Newer Older
1
2
3
4
5
#!/usr/bin/env python
from __future__ import print_function
import sys
sys.path.append('.')

6
from example.issues import print_cchar, print_char
7
from example.issues import DispatchIssue, dispatch_issue_go
Wenzel Jakob's avatar
Wenzel Jakob committed
8
from example.issues import Placeholder, return_vec_of_reference_wrapper
9
from example.issues import iterator_passthrough
10
from example.issues import ElementList, ElementA, print_element
11
from example.issues import expect_float, expect_int
Wenzel Jakob's avatar
Wenzel Jakob committed
12
import gc
13
14

print_cchar("const char *")
15
print_char('c')
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33


class PyClass1(DispatchIssue):
    def dispatch(self):
        print("Yay..")


class PyClass2(DispatchIssue):
    def dispatch(self):
        try:
            super(PyClass2, self).dispatch()
        except Exception as e:
            print("Failed as expected: " + str(e))
        p = PyClass1()
        dispatch_issue_go(p)

b = PyClass2()
dispatch_issue_go(b)
34

35
print(return_vec_of_reference_wrapper(Placeholder(4)))
36
37

print(list(iterator_passthrough(iter([3, 5, 7, 9, 11, 13, 15]))))
Wenzel Jakob's avatar
Wenzel Jakob committed
38
39
40
41
42
43
44
45

el = ElementList()
for i in range(10):
    el.add(ElementA(i))
gc.collect()
for i, v in enumerate(el.get()):
    print("%i==%i, " % (i, v.value()), end='')
print()
46
47
48
49
50

try:
    print_element(None)
except Exception as e:
    print("Failed as expected: " + str(e))
51
52
53
54
55
56
57

try:
    print(expect_int(5.2))
except Exception as e:
    print("Failed as expected: " + str(e))

print(expect_float(12))