import source from 1.3.40
[external/swig.git] / Examples / test-suite / octave / overload_simple_runme.m
1 overload_simple
2
3 # unless explicitly casted via {{u}int{8,16,32,64},double,single},
4 # octave will take numeric literals as doubles.
5
6 if (!strcmp(foo(3),"foo:int"))
7     error("foo(int)")
8 endif
9
10 if (!strcmp(foo(3.1),"foo:double"))
11     error("foo(double)")
12 endif
13
14 if (!strcmp(foo("hello"),"foo:char *"))
15     error("foo(char *)")
16 endif
17
18 f = Foo();
19 b = Bar();
20
21 if (!strcmp(foo(f),"foo:Foo *"))
22     error("foo(Foo *)")
23 endif
24
25 if (!strcmp(foo(b),"foo:Bar *"))
26     error("foo(Bar *)")
27 endif
28
29 v = malloc_void(32);
30
31 if (!strcmp(foo(v),"foo:void *"))
32     error("foo(void *)")
33 endif
34
35 s = Spam();
36
37 if (!strcmp(s.foo(3),"foo:int"))
38     error("Spam::foo(int)")
39 endif
40
41 if (!strcmp(s.foo(3.1),"foo:double"))
42     error("Spam::foo(double)")
43 endif
44
45 if (!strcmp(s.foo("hello"),"foo:char *"))
46     error("Spam::foo(char *)")
47 endif
48
49 if (!strcmp(s.foo(f),"foo:Foo *"))
50     error("Spam::foo(Foo *)")
51 endif
52
53 if (!strcmp(s.foo(b),"foo:Bar *"))
54     error("Spam::foo(Bar *)")
55 endif
56
57 if (!strcmp(s.foo(v),"foo:void *"))
58     error("Spam::foo(void *)")
59 endif
60
61 if (!strcmp(Spam_bar(3),"bar:int"))
62     error("Spam::bar(int)")
63 endif
64
65 if (!strcmp(Spam_bar(3.1),"bar:double"))
66     error("Spam::bar(double)")
67 endif
68
69 if (!strcmp(Spam_bar("hello"),"bar:char *"))
70     error("Spam::bar(char *)")
71 endif
72
73 if (!strcmp(Spam_bar(f),"bar:Foo *"))
74     error("Spam::bar(Foo *)")
75 endif
76
77 if (!strcmp(Spam_bar(b),"bar:Bar *"))
78     error("Spam::bar(Bar *)")
79 endif
80
81 if (!strcmp(Spam_bar(v),"bar:void *"))
82     error("Spam::bar(void *)")
83 endif
84
85 # Test constructors
86
87 s = Spam();
88 if (!strcmp(s.type,"none"))
89     error("Spam()")
90 endif
91
92 s = Spam(3);
93 if (!strcmp(s.type,"int"))
94     error("Spam(int)")
95 endif
96     
97 s = Spam(3.4);
98 if (!strcmp(s.type,"double"))
99     error("Spam(double)")
100 endif
101
102 s = Spam("hello");
103 if (!strcmp(s.type,"char *"))
104     error("Spam(char *)")
105 endif
106
107 s = Spam(f);
108 if (!strcmp(s.type,"Foo *"))
109     error("Spam(Foo *)")
110 endif
111
112 s = Spam(b);
113 if (!strcmp(s.type,"Bar *"))
114     error("Spam(Bar *)")
115 endif
116
117 s = Spam(v);
118 if (!strcmp(s.type,"void *"))
119     error("Spam(void *)")
120 endif
121
122 free_void(v);
123
124 a = ClassA();
125 b = a.method1(1);