mirror of https://github.com/swig/swig
159 lines
3.7 KiB
Python
159 lines
3.7 KiB
Python
from cpp11_variadic_templates import *
|
|
|
|
ma = MultiArgs1()
|
|
|
|
# SizeOf testing
|
|
so0 = SizeOf0()
|
|
if so0.size != 0:
|
|
raise RuntimeError("so0.size")
|
|
so1 = SizeOf1()
|
|
if so1.size != 1:
|
|
raise RuntimeError("so1.size")
|
|
so2 = SizeOf2()
|
|
if so2.size != 2:
|
|
raise RuntimeError("so2.size")
|
|
so3 = SizeOf3()
|
|
if so3.size != 3:
|
|
raise RuntimeError("so3.size")
|
|
|
|
a = A()
|
|
b = B()
|
|
c = C()
|
|
d = D()
|
|
|
|
# MultiInherit0
|
|
mi0 = MultiInherit0()
|
|
mi0.MultiInstanceMethod()
|
|
MultiInherit0.MultiStaticMethod()
|
|
mi0.InstanceMethod()
|
|
MultiInherit0.StaticMethod()
|
|
|
|
# MultiInherit1
|
|
mi1 = MultiInherit1(a)
|
|
if mi1.a != 100:
|
|
raise RuntimeError("fail mi1.a")
|
|
mi1.MultiInstanceMethod(a)
|
|
MultiInherit1.MultiStaticMethod(a)
|
|
mi1.InstanceMethod()
|
|
MultiInherit1.StaticMethod()
|
|
|
|
# MultiInherit2
|
|
mi2 = MultiInherit2(a, b)
|
|
if mi2.a != 100:
|
|
raise RuntimeError("fail mi2.a")
|
|
if mi2.b != 200:
|
|
raise RuntimeError("fail mi2.b")
|
|
mi2.MultiInstanceMethod(a, b)
|
|
MultiInherit2.MultiStaticMethod(a, b)
|
|
mi2.InstanceMethod()
|
|
MultiInherit2.StaticMethod()
|
|
|
|
# MultiInherit3
|
|
mi3 = MultiInherit3(a, b, c)
|
|
if mi3.a != 100:
|
|
raise RuntimeError("fail mi3.a")
|
|
if mi3.b != 200:
|
|
raise RuntimeError("fail mi3.b")
|
|
if mi3.c != 300:
|
|
raise RuntimeError("fail mi3.c")
|
|
mi3.MultiInstanceMethod(a, b, c)
|
|
MultiInherit3.MultiStaticMethod(a, b, c)
|
|
mi3.InstanceMethod()
|
|
MultiInherit3.StaticMethod()
|
|
|
|
# NumerousInherit0
|
|
num = 123
|
|
ni0 = NumerousInherit0(num)
|
|
ni0.NumerousInstanceMethod(num)
|
|
NumerousInherit0.NumerousStaticMethod(num)
|
|
ni0.InstanceMethod()
|
|
NumerousInherit0.StaticMethod()
|
|
|
|
# NumerousInherit1
|
|
ni1 = NumerousInherit1(num, a)
|
|
if ni1.a != 100:
|
|
raise RuntimeError("fail ni1.a")
|
|
ni1.NumerousInstanceMethod(num, a)
|
|
NumerousInherit1.NumerousStaticMethod(num, a)
|
|
ni1.InstanceMethod()
|
|
NumerousInherit1.StaticMethod()
|
|
|
|
# NumerousInherit2
|
|
ni2 = NumerousInherit2(num, a, b)
|
|
if ni2.a != 100:
|
|
raise RuntimeError("fail ni2.a")
|
|
if ni2.b != 200:
|
|
raise RuntimeError("fail ni2.b")
|
|
ni2.NumerousInstanceMethod(num, a, b)
|
|
NumerousInherit2.NumerousStaticMethod(num, a, b)
|
|
ni2.InstanceMethod()
|
|
NumerousInherit2.StaticMethod()
|
|
|
|
# NumerousInherit3
|
|
ni3 = NumerousInherit3(num, a, b, c)
|
|
if ni3.a != 100:
|
|
raise RuntimeError("fail ni3.a")
|
|
if ni3.b != 200:
|
|
raise RuntimeError("fail ni3.b")
|
|
if ni3.c != 300:
|
|
raise RuntimeError("fail ni3.c")
|
|
ni3.NumerousInstanceMethod(num, a, b, c)
|
|
NumerousInherit3.NumerousStaticMethod(num, a, b, c)
|
|
ni3.InstanceMethod()
|
|
NumerousInherit3.StaticMethod()
|
|
|
|
LotsInherit1
|
|
lots1 = LotsInherit1(a)
|
|
if lots1.a != 100:
|
|
raise RuntimeError("fail lots1.a")
|
|
lots1.LotsInstanceMethod(a)
|
|
LotsInherit1.LotsStaticMethod(a)
|
|
lots1.InstanceMethod()
|
|
LotsInherit1.StaticMethod()
|
|
|
|
# LotsInherit2
|
|
lots2 = LotsInherit2(a, b)
|
|
if lots2.a != 100:
|
|
raise RuntimeError("fail lots2.a")
|
|
if lots2.b != 200:
|
|
raise RuntimeError("fail lots2.b")
|
|
lots2.LotsInstanceMethod(a, b)
|
|
LotsInherit2.LotsStaticMethod(a, b)
|
|
lots2.InstanceMethod()
|
|
LotsInherit2.StaticMethod()
|
|
|
|
# LotsInherit3
|
|
lots3 = LotsInherit3(a, b, c)
|
|
if lots3.a != 100:
|
|
raise RuntimeError("fail lots3.a")
|
|
if lots3.b != 200:
|
|
raise RuntimeError("fail lots3.b")
|
|
if lots3.c != 300:
|
|
raise RuntimeError("fail lots3.c")
|
|
lots3.LotsInstanceMethod(a, b, c)
|
|
LotsInherit3.LotsStaticMethod(a, b, c)
|
|
lots3.InstanceMethod()
|
|
LotsInherit3.StaticMethod()
|
|
|
|
# LotsInherit4
|
|
lots4 = LotsInherit4(a, b, c, d)
|
|
if lots4.a != 100:
|
|
raise RuntimeError("fail lots4.a")
|
|
if lots4.b != 200:
|
|
raise RuntimeError("fail lots4.b")
|
|
if lots4.c != 300:
|
|
raise RuntimeError("fail lots4.c")
|
|
if lots4.d != 400:
|
|
raise RuntimeError("fail lots4.c")
|
|
lots4.LotsInstanceMethod(a, b, c, d)
|
|
LotsInherit4.LotsStaticMethod(a, b, c, d)
|
|
lots4.InstanceMethod()
|
|
LotsInherit4.StaticMethod()
|
|
|
|
# PlainStruct
|
|
ps = PlainStruct()
|
|
ps.PlainStructParms0()
|
|
ps.PlainStructParms1(a)
|
|
ps.PlainStructParms2(a, b)
|
|
ps.PlainStructParms3(a, b, c)
|