107 lines
1.7 KiB
Python
107 lines
1.7 KiB
Python
# file: runme.py
|
|
# Test various properties of classes defined in separate modules
|
|
|
|
print "Testing the %import directive with templates"
|
|
import base
|
|
import foo
|
|
import bar
|
|
import spam
|
|
|
|
# Create some objects
|
|
|
|
print "Creating some objects"
|
|
|
|
a = base.intBase()
|
|
b = foo.intFoo()
|
|
c = bar.intBar()
|
|
d = spam.intSpam()
|
|
|
|
# Try calling some methods
|
|
print "Testing some methods"
|
|
print "",
|
|
print "Should see 'Base::A' ---> ",
|
|
a.A()
|
|
print "Should see 'Base::B' ---> ",
|
|
a.B()
|
|
|
|
print "Should see 'Foo::A' ---> ",
|
|
b.A()
|
|
print "Should see 'Foo::B' ---> ",
|
|
b.B()
|
|
|
|
print "Should see 'Bar::A' ---> ",
|
|
c.A()
|
|
print "Should see 'Bar::B' ---> ",
|
|
c.B()
|
|
|
|
print "Should see 'Spam::A' ---> ",
|
|
d.A()
|
|
print "Should see 'Spam::B' ---> ",
|
|
d.B()
|
|
|
|
# Try some casts
|
|
|
|
print "\nTesting some casts\n"
|
|
print "",
|
|
|
|
x = a.toBase()
|
|
print "Should see 'Base::A' ---> ",
|
|
x.A()
|
|
print "Should see 'Base::B' ---> ",
|
|
x.B()
|
|
|
|
x = b.toBase()
|
|
print "Should see 'Foo::A' ---> ",
|
|
x.A()
|
|
|
|
print "Should see 'Base::B' ---> ",
|
|
x.B()
|
|
|
|
x = c.toBase()
|
|
print "Should see 'Bar::A' ---> ",
|
|
x.A()
|
|
|
|
print "Should see 'Base::B' ---> ",
|
|
x.B()
|
|
|
|
x = d.toBase()
|
|
print "Should see 'Spam::A' ---> ",
|
|
x.A()
|
|
|
|
print "Should see 'Base::B' ---> ",
|
|
x.B()
|
|
|
|
x = d.toBar()
|
|
print "Should see 'Bar::B' ---> ",
|
|
x.B()
|
|
|
|
print "\nTesting some dynamic casts\n"
|
|
x = d.toBase()
|
|
|
|
print " Spam -> Base -> Foo : ",
|
|
y = foo.intFoo_fromBase(x)
|
|
if y:
|
|
print "bad swig"
|
|
else:
|
|
print "good swig"
|
|
|
|
print " Spam -> Base -> Bar : ",
|
|
y = bar.intBar_fromBase(x)
|
|
if y:
|
|
print "good swig"
|
|
else:
|
|
print "bad swig"
|
|
|
|
print " Spam -> Base -> Spam : ",
|
|
y = spam.intSpam_fromBase(x)
|
|
if y:
|
|
print "good swig"
|
|
else:
|
|
print "bad swig"
|
|
|
|
print " Foo -> Spam : ",
|
|
y = spam.intSpam_fromBase(b)
|
|
if y:
|
|
print "bad swig"
|
|
else:
|
|
print "good swig"
|