File: overload_simple_runme.rb

package info (click to toggle)
swig1.3 1.3.24-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 19,336 kB
  • ctags: 10,604
  • sloc: cpp: 27,917; ansic: 24,160; yacc: 4,412; python: 4,255; java: 4,156; makefile: 3,735; sh: 3,552; cs: 2,250; ruby: 2,150; lisp: 1,605; tcl: 1,136; perl: 980; php: 879; ml: 825
file content (119 lines) | stat: -rwxr-xr-x 1,997 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
require 'overload_simple'

include Overload_simple

if foo(3) != "foo:int"
  raise RuntimeError, "foo(int)"
end

if foo(3.0) != "foo:double"
  raise RuntimeError, "foo(double)"
end

if foo("hello") != "foo:char *"
  raise RuntimeError, "foo(char *)"
end

f = Foo.new
b = Bar.new

if foo(f) != "foo:Foo *"
  raise RuntimeError, "foo(Foo *)"
end

if foo(b) != "foo:Bar *"
  raise RuntimeError, "foo(Bar *)"
end

v = malloc_void(32)

if foo(v) != "foo:void *"
  raise RuntimeError, "foo(void *)"
end

s = Spam.new

if s.foo(3) != "foo:int"
  raise RuntimeError, "Spam::foo(int)"
end

if s.foo(3.0) != "foo:double"
  raise RuntimeError, "Spam::foo(double)"
end

if s.foo("hello") != "foo:char *"
  raise RuntimeError, "Spam::foo(char *)"
end

if s.foo(f) != "foo:Foo *"
  raise RuntimeError, "Spam::foo(Foo *)"
end

if s.foo(b) != "foo:Bar *"
  raise RuntimeError, "Spam::foo(Bar *)"
end

if s.foo(v) != "foo:void *"
  raise RuntimeError, "Spam::foo(void *)"
end

if Spam.bar(3) != "bar:int"
  raise RuntimeError, "Spam::bar(int)"
end

if Spam.bar(3.0) != "bar:double"
  raise RuntimeError, "Spam::bar(double)"
end

if Spam.bar("hello") != "bar:char *"
  raise RuntimeError, "Spam::bar(char *)"
end

if Spam.bar(f) != "bar:Foo *"
  raise RuntimeError, "Spam::bar(Foo *)"
end

if Spam.bar(b) != "bar:Bar *"
  raise RuntimeError, "Spam::bar(Bar *)"
end

if Spam.bar(v) != "bar:void *"
  raise RuntimeError, "Spam::bar(void *)"
end

# Test constructors

s = Spam.new
if s.type != "none"
  raise RuntimeError, "Spam()"
end

s = Spam.new(3)
if s.type != "int"
  raise RuntimeError, "Spam(int)"
end
    
s = Spam.new(3.4)
if s.type != "double"
  raise RuntimeError, "Spam(double)"
end

s = Spam.new("hello")
if s.type != "char *"
  raise RuntimeError, "Spam(char *)"
end

s = Spam.new(f)
if s.type != "Foo *"
  raise RuntimeError, "Spam(Foo *)"
end

s = Spam.new(b)
if s.type != "Bar *"
  raise RuntimeError, "Spam(Bar *)"
end

s = Spam.new(v)
if s.type != "void *"
  raise RuntimeError, "Spam(void *)"
end