PageRenderTime 31ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/python/overload_template_runme.py

#
Python | 145 lines | 89 code | 45 blank | 11 comment | 39 complexity | c228dd7ca81071543f7f76df065dea06 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. from overload_template import *
  2. f = foo()
  3. a = maximum(3,4)
  4. b = maximum(3.4,5.2)
  5. # mix 1
  6. if (mix1("hi") != 101):
  7. raise RuntimeError, ("mix1(const char*)")
  8. if (mix1(1.0, 1.0) != 102):
  9. raise RuntimeError, ("mix1(double, const double &)")
  10. if (mix1(1.0) != 103):
  11. raise RuntimeError, ("mix1(double)")
  12. # mix 2
  13. if (mix2("hi") != 101):
  14. raise RuntimeError, ("mix2(const char*)")
  15. if (mix2(1.0, 1.0) != 102):
  16. raise RuntimeError, ("mix2(double, const double &)")
  17. if (mix2(1.0) != 103):
  18. raise RuntimeError, ("mix2(double)")
  19. # mix 3
  20. if (mix3("hi") != 101):
  21. raise RuntimeError, ("mix3(const char*)")
  22. if (mix3(1.0, 1.0) != 102):
  23. raise RuntimeError, ("mix3(double, const double &)")
  24. if (mix3(1.0) != 103):
  25. raise RuntimeError, ("mix3(double)")
  26. # Combination 1
  27. if (overtparams1(100) != 10):
  28. raise RuntimeError, ("overtparams1(int)")
  29. if (overtparams1(100.0, 100) != 20):
  30. raise RuntimeError, ("overtparams1(double, int)")
  31. # Combination 2
  32. if (overtparams2(100.0, 100) != 40):
  33. raise RuntimeError, ("overtparams2(double, int)")
  34. # Combination 3
  35. if (overloaded() != 60):
  36. raise RuntimeError, ("overloaded()")
  37. if (overloaded(100.0, 100) != 70):
  38. raise RuntimeError, ("overloaded(double, int)")
  39. # Combination 4
  40. if (overloadedagain("hello") != 80):
  41. raise RuntimeError, ("overloadedagain(const char *)")
  42. if (overloadedagain() != 90):
  43. raise RuntimeError, ("overloadedagain(double)")
  44. # specializations
  45. if (specialization(10) != 202):
  46. raise RuntimeError, ("specialization(int)")
  47. if (specialization(10.0) != 203):
  48. raise RuntimeError, ("specialization(double)")
  49. if (specialization(10, 10) != 204):
  50. raise RuntimeError, ("specialization(int, int)")
  51. if (specialization(10.0, 10.0) != 205):
  52. raise RuntimeError, ("specialization(double, double)")
  53. if (specialization("hi", "hi") != 201):
  54. raise RuntimeError, ("specialization(const char *, const char *)")
  55. # simple specialization
  56. xyz()
  57. xyz_int()
  58. xyz_double()
  59. # a bit of everything
  60. if (overload("hi") != 0):
  61. raise RuntimeError, ("overload()")
  62. if (overload(1) != 10):
  63. raise RuntimeError, ("overload(int t)")
  64. if (overload(1, 1) != 20):
  65. raise RuntimeError, ("overload(int t, const int &)")
  66. if (overload(1, "hello") != 30):
  67. raise RuntimeError, ("overload(int t, const char *)")
  68. k = Klass()
  69. if (overload(k) != 10):
  70. raise RuntimeError, ("overload(Klass t)")
  71. if (overload(k, k) != 20):
  72. raise RuntimeError, ("overload(Klass t, const Klass &)")
  73. if (overload(k, "hello") != 30):
  74. raise RuntimeError, ("overload(Klass t, const char *)")
  75. if (overload(10.0, "hi") != 40):
  76. raise RuntimeError, ("overload(double t, const char *)")
  77. if (overload() != 50):
  78. raise RuntimeError, ("overload(const char *)")
  79. # everything put in a namespace
  80. if (nsoverload("hi") != 1000):
  81. raise RuntimeError, ("nsoverload()")
  82. if (nsoverload(1) != 1010):
  83. raise RuntimeError, ("nsoverload(int t)")
  84. if (nsoverload(1, 1) != 1020):
  85. raise RuntimeError, ("nsoverload(int t, const int &)")
  86. if (nsoverload(1, "hello") != 1030):
  87. raise RuntimeError, ("nsoverload(int t, const char *)")
  88. if (nsoverload(k) != 1010):
  89. raise RuntimeError, ("nsoverload(Klass t)")
  90. if (nsoverload(k, k) != 1020):
  91. raise RuntimeError, ("nsoverload(Klass t, const Klass &)")
  92. if (nsoverload(k, "hello") != 1030):
  93. raise RuntimeError, ("nsoverload(Klass t, const char *)")
  94. if (nsoverload(10.0, "hi") != 1040):
  95. raise RuntimeError, ("nsoverload(double t, const char *)")
  96. if (nsoverload() != 1050):
  97. raise RuntimeError, ("nsoverload(const char *)")
  98. A_foo(1)
  99. b = B()
  100. b.foo(1)