tests for default arguments in templated functions added
Currently broken for Python only There might still be some 'translation errors' from converting the runtime test from the Java test git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6402 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
d0ff6f36aa
commit
f816035a2b
1 changed files with 93 additions and 0 deletions
|
|
@ -1,5 +1,98 @@
|
|||
import template_default_arg
|
||||
|
||||
|
||||
helloInt = template_default_arg.Hello_int()
|
||||
helloInt.foo(Hello_int.Hi.hi)
|
||||
|
||||
|
||||
x = template_default_arg.X_int()
|
||||
if (x.meth(20.0, 200) != 200):
|
||||
raise RuntimeError, ("X_int test 1 failed")
|
||||
if (x.meth(20) != 20):
|
||||
raise RuntimeError, ("X_int test 2 failed")
|
||||
if (x.meth() != 0):
|
||||
raise RuntimeError, ("X_int test 3 failed")
|
||||
|
||||
|
||||
|
||||
y = template_default_arg.Y_unsigned()
|
||||
if (y.meth(20.0, 200) != 200):
|
||||
raise RuntimeError, ("Y_unsigned test 1 failed")
|
||||
if (y.meth(20) != 20):
|
||||
raise RuntimeError, ("Y_unsigned test 2 failed")
|
||||
if (y.meth() != 0):
|
||||
raise RuntimeError, ("Y_unsigned test 3 failed")
|
||||
|
||||
|
||||
|
||||
x = template_default_arg.X_longlong()
|
||||
x = template_default_arg.X_longlong(20.0)
|
||||
x = template_default_arg.X_longlong(20.0, 200L)
|
||||
|
||||
|
||||
x = template_default_arg.X_int()
|
||||
x = template_default_arg.X_int(20.0)
|
||||
x = template_default_arg.X_int(20.0, 200)
|
||||
|
||||
|
||||
x = template_default_arg.X_hello_unsigned()
|
||||
x = template_default_arg.X_hello_unsigned(20.0)
|
||||
x = template_default_arg.X_hello_unsigned(20.0, template_default_arg.Hello_int())
|
||||
|
||||
|
||||
y = template_default_arg.Y_hello_unsigned()
|
||||
y.meth(20.0, template_default_arg.Hello_int())
|
||||
y.meth(template_default_arg.Hello_int())
|
||||
y.meth()
|
||||
|
||||
|
||||
|
||||
fz = template_default_arg.Foo_Z_8()
|
||||
x = template_default_arg.X_Foo_Z_8()
|
||||
fzc = x.meth(fz)
|
||||
|
||||
|
||||
# Templated functions
|
||||
|
||||
# plain function: int ott(Foo<int>)
|
||||
if (template_default_arg.ott(template_default_arg.Foo_int()) != 30):
|
||||
raise RuntimeError, ("ott test 1 failed")
|
||||
|
||||
# %template(ott) ott<int, int>
|
||||
if (template_default_arg.ott() != 10):
|
||||
raise RuntimeError, ("ott test 2 failed")
|
||||
if (template_default_arg.ott(1) != 10):
|
||||
raise RuntimeError, ("ott test 3 failed")
|
||||
if (template_default_arg.ott(1, 1) != 10):
|
||||
raise RuntimeError, ("ott test 4 failed")
|
||||
|
||||
if (template_default_arg.ott("hi") != 20):
|
||||
raise RuntimeError, ("ott test 5 failed")
|
||||
if (template_default_arg.ott("hi", 1) != 20):
|
||||
raise RuntimeError, ("ott test 6 failed")
|
||||
if (template_default_arg.ott("hi", 1, 1) != 20):
|
||||
raise RuntimeError, ("ott test 7 failed")
|
||||
|
||||
# %template(ott) ott<const char *>
|
||||
if (template_default_arg.ottstring(template_default_arg.Hello_int(), "hi") != 40):
|
||||
raise RuntimeError, ("ott test 8 failed")
|
||||
|
||||
if (template_default_arg.ottstring(template_default_arg.Hello_int()) != 40):
|
||||
raise RuntimeError, ("ott test 9 failed")
|
||||
|
||||
# %template(ott) ott<int>
|
||||
if (template_default_arg.ottint(template_default_arg.Hello_int(), 1) != 50):
|
||||
raise RuntimeError, ("ott test 10 failed")
|
||||
|
||||
if (template_default_arg.ottint(template_default_arg.Hello_int()) != 50):
|
||||
raise RuntimeError, ("ott test 11 failed")
|
||||
|
||||
# %template(ott) ott<double>
|
||||
if (template_default_arg.ott(template_default_arg.Hello_int(), 1.0) != 60):
|
||||
raise RuntimeError, ("ott test 12 failed")
|
||||
|
||||
if (template_default_arg.ott(template_default_arg.Hello_int()) != 60):
|
||||
raise RuntimeError, ("ott test 13 failed")
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue