2 import extend_default.Override;
3 import extend_default.*;
5 public class extend_default_runme {
8 System.loadLibrary("extend_default");
9 } catch (UnsatisfiedLinkError e) {
10 System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
15 public static void main(String argv[])
17 // %extend before the class definition
19 Before ex = new Before();
20 if (ex.getI() != -1.0 && ex.getD() != -1.0)
21 throw new RuntimeException("Before constructor 1 failed");
24 if (ex.getI() != 10.0 && ex.getD() != -1.0)
25 throw new RuntimeException("Before constructor 2 failed");
27 ex = new Before(20, 30.0);
28 if (ex.getI() != 20 && ex.getD() != 30.0)
29 throw new RuntimeException("Before constructor 3 failed");
32 Before ex = new Before();
33 if (ex.AddedMethod() != -2.0)
34 throw new RuntimeException("Before AddedMethod 1 failed");
35 if (ex.AddedMethod(-2) != -3.0)
36 throw new RuntimeException("Before AddedMethod 2 failed");
37 if (ex.AddedMethod(-10, -10.0) != -20)
38 throw new RuntimeException("Before AddedMethod 3 failed");
41 if (Before.AddedStaticMethod() != -2.0)
42 throw new RuntimeException("Before AddedStaticMethod 1 failed");
43 if (Before.AddedStaticMethod(-2) != -3.0)
44 throw new RuntimeException("Before AddedStaticMethod 2 failed");
45 if (Before.AddedStaticMethod(-10, -10.0) != -20)
46 throw new RuntimeException("Before AddedStaticMethod 3 failed");
49 // %extend after the class definition
51 After ex = new After();
52 if (ex.getI() != -1.0 && ex.getD() != -1.0)
53 throw new RuntimeException("After constructor 1 failed");
56 if (ex.getI() != 10.0 && ex.getD() != -1.0)
57 throw new RuntimeException("After constructor 2 failed");
59 ex = new After(20, 30.0);
60 if (ex.getI() != 20 && ex.getD() != 30.0)
61 throw new RuntimeException("After constructor 3 failed");
64 After ex = new After();
65 if (ex.AddedMethod() != -2.0)
66 throw new RuntimeException("After AddedMethod 1 failed");
67 if (ex.AddedMethod(-2) != -3.0)
68 throw new RuntimeException("After AddedMethod 2 failed");
69 if (ex.AddedMethod(-10, -10.0) != -20)
70 throw new RuntimeException("After AddedMethod 3 failed");
73 if (After.AddedStaticMethod() != -2.0)
74 throw new RuntimeException("After AddedStaticMethod 1 failed");
75 if (After.AddedStaticMethod(-2) != -3.0)
76 throw new RuntimeException("After AddedStaticMethod 2 failed");
77 if (After.AddedStaticMethod(-10, -10.0) != -20)
78 throw new RuntimeException("After AddedStaticMethod 3 failed");
81 // %extend before the class definition - with overloading and default args
83 OverBefore ex = new OverBefore();
84 if (ex.getI() != -1.0 && ex.getD() != -1.0)
85 throw new RuntimeException("OverBefore constructor 1 failed");
87 ex = new OverBefore(10);
88 if (ex.getI() != 10.0 && ex.getD() != -1.0)
89 throw new RuntimeException("OverBefore constructor 2 failed");
91 ex = new OverBefore(20, 30.0);
92 if (ex.getI() != 20 && ex.getD() != 30.0)
93 throw new RuntimeException("OverBefore constructor 3 failed");
96 OverBefore ex = new OverBefore();
97 if (ex.AddedMethod() != -2.0)
98 throw new RuntimeException("OverBefore AddedMethod 1 failed");
99 if (ex.AddedMethod(-2) != -3.0)
100 throw new RuntimeException("OverBefore AddedMethod 2 failed");
101 if (ex.AddedMethod(-10, -10.0) != -20)
102 throw new RuntimeException("OverBefore AddedMethod 3 failed");
105 if (OverBefore.AddedStaticMethod() != -2.0)
106 throw new RuntimeException("OverBefore AddedStaticMethod 1 failed");
107 if (OverBefore.AddedStaticMethod(-2) != -3.0)
108 throw new RuntimeException("OverBefore AddedStaticMethod 2 failed");
109 if (OverBefore.AddedStaticMethod(-10, -10.0) != -20)
110 throw new RuntimeException("OverBefore AddedStaticMethod 3 failed");
113 OverBefore ex = new OverBefore("hello");
114 if (ex.getI() != -2.0 && ex.getD() != -2.0)
115 throw new RuntimeException("OverBefore overload constructor 1 failed");
117 ex = new OverBefore("hello", 10);
118 if (ex.getI() != 10.0 && ex.getD() != -1.0)
119 throw new RuntimeException("OverBefore overload constructor 2 failed");
121 ex = new OverBefore("hello", 20, 30.0);
122 if (ex.getI() != 20 && ex.getD() != 30.0)
123 throw new RuntimeException("OverBefore overload constructor 3 failed");
126 OverBefore ex = new OverBefore("hello");
127 if (ex.AddedMethod("hello") != -2.0)
128 throw new RuntimeException("OverBefore overload AddedMethod 1 failed");
129 if (ex.AddedMethod("hello", -2) != -3.0)
130 throw new RuntimeException("OverBefore overload AddedMethod 2 failed");
131 if (ex.AddedMethod("hello", -10, -10.0) != -20)
132 throw new RuntimeException("OverBefore overload AddedMethod 3 failed");
135 if (OverBefore.AddedStaticMethod("hello") != -2.0)
136 throw new RuntimeException("OverBefore overload AddedStaticMethod 1 failed");
137 if (OverBefore.AddedStaticMethod("hello", -2) != -3.0)
138 throw new RuntimeException("OverBefore overload AddedStaticMethod 2 failed");
139 if (OverBefore.AddedStaticMethod("hello", -10, -10.0) != -20)
140 throw new RuntimeException("OverBefore overload AddedStaticMethod 3 failed");
143 // %extend after the class definition - with overloading and default args
145 OverAfter ex = new OverAfter();
146 if (ex.getI() != -1.0 && ex.getD() != -1.0)
147 throw new RuntimeException("OverAfter constructor 1 failed");
149 ex = new OverAfter(10);
150 if (ex.getI() != 10.0 && ex.getD() != -1.0)
151 throw new RuntimeException("OverAfter constructor 2 failed");
153 ex = new OverAfter(20, 30.0);
154 if (ex.getI() != 20 && ex.getD() != 30.0)
155 throw new RuntimeException("OverAfter constructor 3 failed");
158 OverAfter ex = new OverAfter();
159 if (ex.AddedMethod() != -2.0)
160 throw new RuntimeException("OverAfter AddedMethod 1 failed");
161 if (ex.AddedMethod(-2) != -3.0)
162 throw new RuntimeException("OverAfter AddedMethod 2 failed");
163 if (ex.AddedMethod(-10, -10.0) != -20)
164 throw new RuntimeException("OverAfter AddedMethod 3 failed");
167 if (OverAfter.AddedStaticMethod() != -2.0)
168 throw new RuntimeException("OverAfter AddedStaticMethod 1 failed");
169 if (OverAfter.AddedStaticMethod(-2) != -3.0)
170 throw new RuntimeException("OverAfter AddedStaticMethod 2 failed");
171 if (OverAfter.AddedStaticMethod(-10, -10.0) != -20)
172 throw new RuntimeException("OverAfter AddedStaticMethod 3 failed");
175 OverAfter ex = new OverAfter("hello");
176 if (ex.getI() != -2.0 && ex.getD() != -2.0)
177 throw new RuntimeException("OverAfter overload constructor 1 failed");
179 ex = new OverAfter("hello", 10);
180 if (ex.getI() != 10.0 && ex.getD() != -1.0)
181 throw new RuntimeException("OverAfter overload constructor 2 failed");
183 ex = new OverAfter("hello", 20, 30.0);
184 if (ex.getI() != 20 && ex.getD() != 30.0)
185 throw new RuntimeException("OverAfter overload constructor 3 failed");
188 OverAfter ex = new OverAfter("hello");
189 if (ex.AddedMethod("hello") != -2.0)
190 throw new RuntimeException("OverAfter overload AddedMethod 1 failed");
191 if (ex.AddedMethod("hello", -2) != -3.0)
192 throw new RuntimeException("OverAfter overload AddedMethod 2 failed");
193 if (ex.AddedMethod("hello", -10, -10.0) != -20)
194 throw new RuntimeException("OverAfter overload AddedMethod 3 failed");
197 if (OverAfter.AddedStaticMethod("hello") != -2.0)
198 throw new RuntimeException("OverAfter overload AddedStaticMethod 1 failed");
199 if (OverAfter.AddedStaticMethod("hello", -2) != -3.0)
200 throw new RuntimeException("OverAfter overload AddedStaticMethod 2 failed");
201 if (OverAfter.AddedStaticMethod("hello", -10, -10.0) != -20)
202 throw new RuntimeException("OverAfter overload AddedStaticMethod 3 failed");
207 Override o = new Override();
210 throw new RuntimeException("override test 1 failed");
211 if (o.over(10) != 10*10)
212 throw new RuntimeException("override test 2 failed");
215 throw new RuntimeException("override test 3 failed");
216 if (o.ride(10) != 10)
217 throw new RuntimeException("override test 4 failed");
219 if (o.overload() != -10)
220 throw new RuntimeException("override test 5 failed");
221 if (o.overload(10) != 10*10)
222 throw new RuntimeException("override test 6 failed");