blob: 0699978d2eb685b2313d068bb5d93694d99808c6 [file] [log] [blame]
Wenzel Jakob57082212015-09-04 23:42:12 +02001#!/usr/bin/env python
2from __future__ import print_function
Wenzel Jakob38bd7112015-07-05 20:05:44 +02003import sys
4sys.path.append('.')
5
6from example import Pet
7from example import Dog
Wenzel Jakob48548ea2016-01-17 22:36:44 +01008from example import Rabbit
Wenzel Jakob38bd7112015-07-05 20:05:44 +02009from example import dog_bark
10from example import pet_print
11
12polly = Pet('Polly', 'parrot')
13molly = Dog('Molly')
Wenzel Jakob48548ea2016-01-17 22:36:44 +010014roger = Rabbit('Rabbit')
15print(roger.name() + " is a " + roger.species())
16pet_print(roger)
Wenzel Jakob38bd7112015-07-05 20:05:44 +020017print(polly.name() + " is a " + polly.species())
18pet_print(polly)
19print(molly.name() + " is a " + molly.species())
20pet_print(molly)
21dog_bark(molly)
22try:
23 dog_bark(polly)
24except Exception as e:
25 print('The following error is expected: ' + str(e))
26
27from example import test_callback1
28from example import test_callback2
29from example import test_callback3
Wenzel Jakob281aa0e2015-07-30 15:29:00 +020030from example import test_callback4
Wenzel Jakob19208fe2015-10-13 17:37:25 +020031from example import test_cleanup
Wenzel Jakob38bd7112015-07-05 20:05:44 +020032
33def func1():
34 print('Callback function 1 called!')
35
Wenzel Jakob7b8e0322015-08-28 17:49:15 +020036def func2(a, b, c, d):
37 print('Callback function 2 called : ' + str(a) + ", " + str(b) + ", " + str(c) + ", "+ str(d))
Wenzel Jakoba2f6fde2015-10-01 16:46:03 +020038 return d
Wenzel Jakob38bd7112015-07-05 20:05:44 +020039
40print(test_callback1(func1))
41print(test_callback2(func2))
42
Wenzel Jakoba2f6fde2015-10-01 16:46:03 +020043test_callback3(lambda i: i + 1)
44f = test_callback4()
Wenzel Jakob281aa0e2015-07-30 15:29:00 +020045print("func(43) = %i" % f(43))
Wenzel Jakob19208fe2015-10-13 17:37:25 +020046
47test_cleanup()