PageRenderTime 40ms CodeModel.GetById 13ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Examples/test-suite/ruby/overload_simple_runme.rb

#
Ruby | 130 lines | 89 code | 32 blank | 9 comment | 50 complexity | c9f0df7bddd52db4d2025943b8d7db19 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. #!/usr/bin/env ruby
  2. #
  3. # Put description here
  4. #
  5. #
  6. #
  7. #
  8. #
  9. require 'swig_assert'
  10. require 'overload_simple'
  11. include Overload_simple
  12. if foo(3) != "foo:int"
  13. raise RuntimeError, "foo(int)"
  14. end
  15. if foo(3.0) != "foo:double"
  16. raise RuntimeError, "foo(double)"
  17. end
  18. if foo("hello") != "foo:char *"
  19. raise RuntimeError, "foo(char *)"
  20. end
  21. f = Foo.new
  22. b = Bar.new
  23. if foo(f) != "foo:Foo *"
  24. raise RuntimeError, "foo(Foo *)"
  25. end
  26. if foo(b) != "foo:Bar *"
  27. raise RuntimeError, "foo(Bar *)"
  28. end
  29. v = malloc_void(32)
  30. if foo(v) != "foo:void *"
  31. raise RuntimeError, "foo(void *)"
  32. end
  33. s = Spam.new
  34. if s.foo(3) != "foo:int"
  35. raise RuntimeError, "Spam::foo(int)"
  36. end
  37. if s.foo(3.0) != "foo:double"
  38. raise RuntimeError, "Spam::foo(double)"
  39. end
  40. if s.foo("hello") != "foo:char *"
  41. raise RuntimeError, "Spam::foo(char *)"
  42. end
  43. if s.foo(f) != "foo:Foo *"
  44. raise RuntimeError, "Spam::foo(Foo *)"
  45. end
  46. if s.foo(b) != "foo:Bar *"
  47. raise RuntimeError, "Spam::foo(Bar *)"
  48. end
  49. if s.foo(v) != "foo:void *"
  50. raise RuntimeError, "Spam::foo(void *)"
  51. end
  52. if Spam.bar(3) != "bar:int"
  53. raise RuntimeError, "Spam::bar(int)"
  54. end
  55. if Spam.bar(3.0) != "bar:double"
  56. raise RuntimeError, "Spam::bar(double)"
  57. end
  58. if Spam.bar("hello") != "bar:char *"
  59. raise RuntimeError, "Spam::bar(char *)"
  60. end
  61. if Spam.bar(f) != "bar:Foo *"
  62. raise RuntimeError, "Spam::bar(Foo *)"
  63. end
  64. if Spam.bar(b) != "bar:Bar *"
  65. raise RuntimeError, "Spam::bar(Bar *)"
  66. end
  67. if Spam.bar(v) != "bar:void *"
  68. raise RuntimeError, "Spam::bar(void *)"
  69. end
  70. # Test constructors
  71. s = Spam.new
  72. if s.type != "none"
  73. raise RuntimeError, "Spam()"
  74. end
  75. s = Spam.new(3)
  76. if s.type != "int"
  77. raise RuntimeError, "Spam(int)"
  78. end
  79. s = Spam.new(3.4)
  80. if s.type != "double"
  81. raise RuntimeError, "Spam(double)"
  82. end
  83. s = Spam.new("hello")
  84. if s.type != "char *"
  85. raise RuntimeError, "Spam(char *)"
  86. end
  87. s = Spam.new(f)
  88. if s.type != "Foo *"
  89. raise RuntimeError, "Spam(Foo *)"
  90. end
  91. s = Spam.new(b)
  92. if s.type != "Bar *"
  93. raise RuntimeError, "Spam(Bar *)"
  94. end
  95. s = Spam.new(v)
  96. if s.type != "void *"
  97. raise RuntimeError, "Spam(void *)"
  98. end