From: William F. <wsf...@us...> - 2004-10-16 20:51:55
|
Update of /cvsroot/swig/SWIG/Examples/test-suite/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31554/Examples/test-suite/python Modified Files: overload_template_runme.py Log Message: tests for overloading templated functions added Index: overload_template_runme.py =================================================================== RCS file: /cvsroot/swig/SWIG/Examples/test-suite/python/overload_template_runme.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** overload_template_runme.py 30 Nov 2002 22:00:41 -0000 1.2 --- overload_template_runme.py 16 Oct 2004 20:51:46 -0000 1.3 *************** *** 4,5 **** --- 4,113 ---- a = max(3,4) b = max(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 *)") + + |