diff options
Diffstat (limited to 'trunk/Examples/test-suite/python/overload_template_fast_runme.py')
-rw-r--r-- | trunk/Examples/test-suite/python/overload_template_fast_runme.py | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/python/overload_template_fast_runme.py b/trunk/Examples/test-suite/python/overload_template_fast_runme.py new file mode 100644 index 000000000..d47f7d14d --- /dev/null +++ b/trunk/Examples/test-suite/python/overload_template_fast_runme.py @@ -0,0 +1,145 @@ +from overload_template_fast 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) |