example-python-types.py 2.09 KB
Newer Older
1
2
#!/usr/bin/env python
from __future__ import print_function
Wenzel Jakob's avatar
Wenzel Jakob committed
3
4
5
import sys, pydoc
sys.path.append('.')

6
import example
7
from example import ExamplePythonTypes
Wenzel Jakob's avatar
Wenzel Jakob committed
8

9
10
11
ExamplePythonTypes.value = 15
print(ExamplePythonTypes.value)
print(ExamplePythonTypes.value2)
Wenzel Jakob's avatar
Wenzel Jakob committed
12
13

try:
14
    ExamplePythonTypes()
Wenzel Jakob's avatar
Wenzel Jakob committed
15
16
17
18
except Exception as e:
    print(e)

try:
19
    ExamplePythonTypes.value2 = 15
Wenzel Jakob's avatar
Wenzel Jakob committed
20
21
22
except Exception as e:
    print(e)

23
instance = ExamplePythonTypes.new_instance()
Wenzel Jakob's avatar
Wenzel Jakob committed
24
25
26
27
28
29
30
31
32

dict_result = instance.get_dict()
dict_result['key2'] = 'value2'
instance.print_dict(dict_result)

dict_result = instance.get_dict_2()
dict_result['key2'] = 'value2'
instance.print_dict_2(dict_result)

33
set_result = instance.get_set()
34
set_result.add('key3')
35
36
37
instance.print_set(set_result)

set_result = instance.get_set2()
38
set_result.add('key3')
39
40
instance.print_set_2(set_result)

Wenzel Jakob's avatar
Wenzel Jakob committed
41
42
43
44
45
46
47
48
list_result = instance.get_list()
list_result.append('value2')
instance.print_list(list_result)

list_result = instance.get_list_2()
list_result.append('value2')
instance.print_list_2(list_result)

49
50
51
52
array_result = instance.get_array()
print(array_result)
instance.print_array(array_result)

Wenzel Jakob's avatar
Wenzel Jakob committed
53
54
55
56
57
58
59
60
try:
    instance.throw_exception()
except Exception as e:
    print(e)

print(instance.pair_passthrough((True, "test")))
print(instance.tuple_passthrough((True, "test", 5)))

61
print(pydoc.render_doc(ExamplePythonTypes, "Help on %s"))
62
63

print("__name__(example) = %s" % example.__name__)
64
65
66
67
print("__name__(example.ExamplePythonTypes) = %s" % ExamplePythonTypes.__name__)
print("__module__(example.ExamplePythonTypes) = %s" % ExamplePythonTypes.__module__)
print("__name__(example.ExamplePythonTypes.get_set) = %s" % ExamplePythonTypes.get_set.__name__)
print("__module__(example.ExamplePythonTypes.get_set) = %s" % ExamplePythonTypes.get_set.__module__)
68

69
70
71
72
73
print(instance.get_bytes_from_string().decode())
print(instance.get_bytes_from_str().decode())
print(instance.get_str_from_string())
print(instance.get_str_from_bytes())

74
75
76
77
78
79
from example import ConstructorStats

cstats = ConstructorStats.get(ExamplePythonTypes)
print("Instances not destroyed:", cstats.alive())
instance = None
print("Instances not destroyed:", cstats.alive())