summaryrefslogtreecommitdiff
path: root/trunk/Examples/test-suite/python/overload_template_runme.py
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/Examples/test-suite/python/overload_template_runme.py')
-rw-r--r--trunk/Examples/test-suite/python/overload_template_runme.py145
1 files changed, 145 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/python/overload_template_runme.py b/trunk/Examples/test-suite/python/overload_template_runme.py
new file mode 100644
index 000000000..c1337ba6a
--- /dev/null
+++ b/trunk/Examples/test-suite/python/overload_template_runme.py
@@ -0,0 +1,145 @@
+from overload_template import *
+f = foo()
+
+a = maximum(3,4)
+b = maximum(3.4,5.2)
+
+# mix 1
+if (mix1("hi") != 101):
+ raise RuntimeError, ("mix1(const char*)")
+
+if (mix1(1.0, 1.0) != 102):
+ raise RuntimeError, ("mix1(double, const double &)")
+
+if (mix1(1.0) != 103):
+ raise RuntimeError, ("mix1(double)")
+
+# mix 2
+if (mix2("hi") != 101):
+ raise RuntimeError, ("mix2(const char*)")
+
+if (mix2(1.0, 1.0) != 102):
+ raise RuntimeError, ("mix2(double, const double &)")
+
+if (mix2(1.0) != 103):
+ raise RuntimeError, ("mix2(double)")
+
+# mix 3
+if (mix3("hi") != 101):
+ raise RuntimeError, ("mix3(const char*)")
+
+if (mix3(1.0, 1.0) != 102):
+ raise RuntimeError, ("mix3(double, const double &)")
+
+if (mix3(1.0) != 103):
+ raise RuntimeError, ("mix3(double)")
+
+# Combination 1
+if (overtparams1(100) != 10):
+ raise RuntimeError, ("overtparams1(int)")
+
+if (overtparams1(100.0, 100) != 20):
+ raise RuntimeError, ("overtparams1(double, int)")
+
+# Combination 2
+if (overtparams2(100.0, 100) != 40):
+ raise RuntimeError, ("overtparams2(double, int)")
+
+# Combination 3
+if (overloaded() != 60):
+ raise RuntimeError, ("overloaded()")
+
+if (overloaded(100.0, 100) != 70):
+ raise RuntimeError, ("overloaded(double, int)")
+
+# Combination 4
+if (overloadedagain("hello") != 80):
+ raise RuntimeError, ("overloadedagain(const char *)")
+
+if (overloadedagain() != 90):
+ raise RuntimeError, ("overloadedagain(double)")
+
+# specializations
+if (specialization(10) != 202):
+ raise RuntimeError, ("specialization(int)")
+
+if (specialization(10.0) != 203):
+ raise RuntimeError, ("specialization(double)")
+
+if (specialization(10, 10) != 204):
+ raise RuntimeError, ("specialization(int, int)")
+
+if (specialization(10.0, 10.0) != 205):
+ raise RuntimeError, ("specialization(double, double)")
+
+if (specialization("hi", "hi") != 201):
+ raise RuntimeError, ("specialization(const char *, const char *)")
+
+
+# simple specialization
+xyz()
+xyz_int()
+xyz_double()
+
+# a bit of everything
+if (overload("hi") != 0):
+ raise RuntimeError, ("overload()")
+
+if (overload(1) != 10):
+ raise RuntimeError, ("overload(int t)")
+
+if (overload(1, 1) != 20):
+ raise RuntimeError, ("overload(int t, const int &)")
+
+if (overload(1, "hello") != 30):
+ raise RuntimeError, ("overload(int t, const char *)")
+
+k = Klass()
+if (overload(k) != 10):
+ raise RuntimeError, ("overload(Klass t)")
+
+if (overload(k, k) != 20):
+ raise RuntimeError, ("overload(Klass t, const Klass &)")
+
+if (overload(k, "hello") != 30):
+ raise RuntimeError, ("overload(Klass t, const char *)")
+
+if (overload(10.0, "hi") != 40):
+ raise RuntimeError, ("overload(double t, const char *)")
+
+if (overload() != 50):
+ raise RuntimeError, ("overload(const char *)")
+
+
+# everything put in a namespace
+if (nsoverload("hi") != 1000):
+ raise RuntimeError, ("nsoverload()")
+
+if (nsoverload(1) != 1010):
+ raise RuntimeError, ("nsoverload(int t)")
+
+if (nsoverload(1, 1) != 1020):
+ raise RuntimeError, ("nsoverload(int t, const int &)")
+
+if (nsoverload(1, "hello") != 1030):
+ raise RuntimeError, ("nsoverload(int t, const char *)")
+
+if (nsoverload(k) != 1010):
+ raise RuntimeError, ("nsoverload(Klass t)")
+
+if (nsoverload(k, k) != 1020):
+ raise RuntimeError, ("nsoverload(Klass t, const Klass &)")
+
+if (nsoverload(k, "hello") != 1030):
+ raise RuntimeError, ("nsoverload(Klass t, const char *)")
+
+if (nsoverload(10.0, "hi") != 1040):
+ raise RuntimeError, ("nsoverload(double t, const char *)")
+
+if (nsoverload() != 1050):
+ raise RuntimeError, ("nsoverload(const char *)")
+
+
+A_foo(1)
+b = B()
+b.foo(1)