summaryrefslogtreecommitdiff
path: root/Examples/test-suite/java/extend_default_runme.java
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/java/extend_default_runme.java')
-rw-r--r--Examples/test-suite/java/extend_default_runme.java226
1 files changed, 226 insertions, 0 deletions
diff --git a/Examples/test-suite/java/extend_default_runme.java b/Examples/test-suite/java/extend_default_runme.java
new file mode 100644
index 0000000..49c52f4
--- /dev/null
+++ b/Examples/test-suite/java/extend_default_runme.java
@@ -0,0 +1,226 @@
+
+import extend_default.Override;
+import extend_default.*;
+
+public class extend_default_runme {
+ static {
+ try {
+ System.loadLibrary("extend_default");
+ } catch (UnsatisfiedLinkError e) {
+ 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);
+ System.exit(1);
+ }
+ }
+
+ public static void main(String argv[])
+ {
+ // %extend before the class definition
+ {
+ Before ex = new Before();
+ if (ex.getI() != -1.0 && ex.getD() != -1.0)
+ throw new RuntimeException("Before constructor 1 failed");
+
+ ex = new Before(10);
+ if (ex.getI() != 10.0 && ex.getD() != -1.0)
+ throw new RuntimeException("Before constructor 2 failed");
+
+ ex = new Before(20, 30.0);
+ if (ex.getI() != 20 && ex.getD() != 30.0)
+ throw new RuntimeException("Before constructor 3 failed");
+ }
+ {
+ Before ex = new Before();
+ if (ex.AddedMethod() != -2.0)
+ throw new RuntimeException("Before AddedMethod 1 failed");
+ if (ex.AddedMethod(-2) != -3.0)
+ throw new RuntimeException("Before AddedMethod 2 failed");
+ if (ex.AddedMethod(-10, -10.0) != -20)
+ throw new RuntimeException("Before AddedMethod 3 failed");
+ }
+ {
+ if (Before.AddedStaticMethod() != -2.0)
+ throw new RuntimeException("Before AddedStaticMethod 1 failed");
+ if (Before.AddedStaticMethod(-2) != -3.0)
+ throw new RuntimeException("Before AddedStaticMethod 2 failed");
+ if (Before.AddedStaticMethod(-10, -10.0) != -20)
+ throw new RuntimeException("Before AddedStaticMethod 3 failed");
+ }
+
+ // %extend after the class definition
+ {
+ After ex = new After();
+ if (ex.getI() != -1.0 && ex.getD() != -1.0)
+ throw new RuntimeException("After constructor 1 failed");
+
+ ex = new After(10);
+ if (ex.getI() != 10.0 && ex.getD() != -1.0)
+ throw new RuntimeException("After constructor 2 failed");
+
+ ex = new After(20, 30.0);
+ if (ex.getI() != 20 && ex.getD() != 30.0)
+ throw new RuntimeException("After constructor 3 failed");
+ }
+ {
+ After ex = new After();
+ if (ex.AddedMethod() != -2.0)
+ throw new RuntimeException("After AddedMethod 1 failed");
+ if (ex.AddedMethod(-2) != -3.0)
+ throw new RuntimeException("After AddedMethod 2 failed");
+ if (ex.AddedMethod(-10, -10.0) != -20)
+ throw new RuntimeException("After AddedMethod 3 failed");
+ }
+ {
+ if (After.AddedStaticMethod() != -2.0)
+ throw new RuntimeException("After AddedStaticMethod 1 failed");
+ if (After.AddedStaticMethod(-2) != -3.0)
+ throw new RuntimeException("After AddedStaticMethod 2 failed");
+ if (After.AddedStaticMethod(-10, -10.0) != -20)
+ throw new RuntimeException("After AddedStaticMethod 3 failed");
+ }
+
+ // %extend before the class definition - with overloading and default args
+ {
+ OverBefore ex = new OverBefore();
+ if (ex.getI() != -1.0 && ex.getD() != -1.0)
+ throw new RuntimeException("OverBefore constructor 1 failed");
+
+ ex = new OverBefore(10);
+ if (ex.getI() != 10.0 && ex.getD() != -1.0)
+ throw new RuntimeException("OverBefore constructor 2 failed");
+
+ ex = new OverBefore(20, 30.0);
+ if (ex.getI() != 20 && ex.getD() != 30.0)
+ throw new RuntimeException("OverBefore constructor 3 failed");
+ }
+ {
+ OverBefore ex = new OverBefore();
+ if (ex.AddedMethod() != -2.0)
+ throw new RuntimeException("OverBefore AddedMethod 1 failed");
+ if (ex.AddedMethod(-2) != -3.0)
+ throw new RuntimeException("OverBefore AddedMethod 2 failed");
+ if (ex.AddedMethod(-10, -10.0) != -20)
+ throw new RuntimeException("OverBefore AddedMethod 3 failed");
+ }
+ {
+ if (OverBefore.AddedStaticMethod() != -2.0)
+ throw new RuntimeException("OverBefore AddedStaticMethod 1 failed");
+ if (OverBefore.AddedStaticMethod(-2) != -3.0)
+ throw new RuntimeException("OverBefore AddedStaticMethod 2 failed");
+ if (OverBefore.AddedStaticMethod(-10, -10.0) != -20)
+ throw new RuntimeException("OverBefore AddedStaticMethod 3 failed");
+ }
+ {
+ OverBefore ex = new OverBefore("hello");
+ if (ex.getI() != -2.0 && ex.getD() != -2.0)
+ throw new RuntimeException("OverBefore overload constructor 1 failed");
+
+ ex = new OverBefore("hello", 10);
+ if (ex.getI() != 10.0 && ex.getD() != -1.0)
+ throw new RuntimeException("OverBefore overload constructor 2 failed");
+
+ ex = new OverBefore("hello", 20, 30.0);
+ if (ex.getI() != 20 && ex.getD() != 30.0)
+ throw new RuntimeException("OverBefore overload constructor 3 failed");
+ }
+ {
+ OverBefore ex = new OverBefore("hello");
+ if (ex.AddedMethod("hello") != -2.0)
+ throw new RuntimeException("OverBefore overload AddedMethod 1 failed");
+ if (ex.AddedMethod("hello", -2) != -3.0)
+ throw new RuntimeException("OverBefore overload AddedMethod 2 failed");
+ if (ex.AddedMethod("hello", -10, -10.0) != -20)
+ throw new RuntimeException("OverBefore overload AddedMethod 3 failed");
+ }
+ {
+ if (OverBefore.AddedStaticMethod("hello") != -2.0)
+ throw new RuntimeException("OverBefore overload AddedStaticMethod 1 failed");
+ if (OverBefore.AddedStaticMethod("hello", -2) != -3.0)
+ throw new RuntimeException("OverBefore overload AddedStaticMethod 2 failed");
+ if (OverBefore.AddedStaticMethod("hello", -10, -10.0) != -20)
+ throw new RuntimeException("OverBefore overload AddedStaticMethod 3 failed");
+ }
+
+ // %extend after the class definition - with overloading and default args
+ {
+ OverAfter ex = new OverAfter();
+ if (ex.getI() != -1.0 && ex.getD() != -1.0)
+ throw new RuntimeException("OverAfter constructor 1 failed");
+
+ ex = new OverAfter(10);
+ if (ex.getI() != 10.0 && ex.getD() != -1.0)
+ throw new RuntimeException("OverAfter constructor 2 failed");
+
+ ex = new OverAfter(20, 30.0);
+ if (ex.getI() != 20 && ex.getD() != 30.0)
+ throw new RuntimeException("OverAfter constructor 3 failed");
+ }
+ {
+ OverAfter ex = new OverAfter();
+ if (ex.AddedMethod() != -2.0)
+ throw new RuntimeException("OverAfter AddedMethod 1 failed");
+ if (ex.AddedMethod(-2) != -3.0)
+ throw new RuntimeException("OverAfter AddedMethod 2 failed");
+ if (ex.AddedMethod(-10, -10.0) != -20)
+ throw new RuntimeException("OverAfter AddedMethod 3 failed");
+ }
+ {
+ if (OverAfter.AddedStaticMethod() != -2.0)
+ throw new RuntimeException("OverAfter AddedStaticMethod 1 failed");
+ if (OverAfter.AddedStaticMethod(-2) != -3.0)
+ throw new RuntimeException("OverAfter AddedStaticMethod 2 failed");
+ if (OverAfter.AddedStaticMethod(-10, -10.0) != -20)
+ throw new RuntimeException("OverAfter AddedStaticMethod 3 failed");
+ }
+ {
+ OverAfter ex = new OverAfter("hello");
+ if (ex.getI() != -2.0 && ex.getD() != -2.0)
+ throw new RuntimeException("OverAfter overload constructor 1 failed");
+
+ ex = new OverAfter("hello", 10);
+ if (ex.getI() != 10.0 && ex.getD() != -1.0)
+ throw new RuntimeException("OverAfter overload constructor 2 failed");
+
+ ex = new OverAfter("hello", 20, 30.0);
+ if (ex.getI() != 20 && ex.getD() != 30.0)
+ throw new RuntimeException("OverAfter overload constructor 3 failed");
+ }
+ {
+ OverAfter ex = new OverAfter("hello");
+ if (ex.AddedMethod("hello") != -2.0)
+ throw new RuntimeException("OverAfter overload AddedMethod 1 failed");
+ if (ex.AddedMethod("hello", -2) != -3.0)
+ throw new RuntimeException("OverAfter overload AddedMethod 2 failed");
+ if (ex.AddedMethod("hello", -10, -10.0) != -20)
+ throw new RuntimeException("OverAfter overload AddedMethod 3 failed");
+ }
+ {
+ if (OverAfter.AddedStaticMethod("hello") != -2.0)
+ throw new RuntimeException("OverAfter overload AddedStaticMethod 1 failed");
+ if (OverAfter.AddedStaticMethod("hello", -2) != -3.0)
+ throw new RuntimeException("OverAfter overload AddedStaticMethod 2 failed");
+ if (OverAfter.AddedStaticMethod("hello", -10, -10.0) != -20)
+ throw new RuntimeException("OverAfter overload AddedStaticMethod 3 failed");
+ }
+
+ // Override
+ {
+ Override o = new Override();
+
+ if (o.over() != -1)
+ throw new RuntimeException("override test 1 failed");
+ if (o.over(10) != 10*10)
+ throw new RuntimeException("override test 2 failed");
+
+ if (o.ride() != -1)
+ throw new RuntimeException("override test 3 failed");
+ if (o.ride(10) != 10)
+ throw new RuntimeException("override test 4 failed");
+
+ if (o.overload() != -10)
+ throw new RuntimeException("override test 5 failed");
+ if (o.overload(10) != 10*10)
+ throw new RuntimeException("override test 6 failed");
+ }
+ }
+}
+