summaryrefslogtreecommitdiff
path: root/Examples/test-suite/java/li_carrays_runme.java
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2009-08-18 20:56:02 +0000
committerLorry <lorry@roadtrain.codethink.co.uk>2012-09-25 16:59:08 +0000
commit9f8a09ed743cedd9547bf0661d518647966ab114 (patch)
tree9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/java/li_carrays_runme.java
downloadswig-tarball-master.tar.gz
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/test-suite/java/li_carrays_runme.java')
-rw-r--r--Examples/test-suite/java/li_carrays_runme.java88
1 files changed, 88 insertions, 0 deletions
diff --git a/Examples/test-suite/java/li_carrays_runme.java b/Examples/test-suite/java/li_carrays_runme.java
new file mode 100644
index 0000000..f576eab
--- /dev/null
+++ b/Examples/test-suite/java/li_carrays_runme.java
@@ -0,0 +1,88 @@
+import li_carrays.*;
+
+public class li_carrays_runme {
+
+ static {
+ try {
+ System.loadLibrary("li_carrays");
+ } 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[]) throws Throwable
+ {
+ // array_class
+ {
+ int length = 5;
+ XYArray xyArray = new XYArray(length);
+ for (int i=0; i<length; i++) {
+ XY xy = xyArray.getitem(i);
+ xy.setX(i*10);
+ xy.setY(i*100);
+ xyArray.setitem(i, xy);
+ }
+ for (int i=0; i<length; i++) {
+ Assert(xyArray.getitem(i).getX(), i*10);
+ Assert(xyArray.getitem(i).getY(), i*100);
+ }
+ }
+
+ {
+ // global array variable
+ int length = 5;
+ XY xyArrayPointer = li_carrays.getGlobalXYArray();
+ XYArray xyArray = XYArray.frompointer(xyArrayPointer);
+ for (int i=0; i<length; i++) {
+ XY xy = xyArray.getitem(i);
+ xy.setX(i*10);
+ xy.setY(i*100);
+ xyArray.setitem(i, xy);
+ }
+ for (int i=0; i<length; i++) {
+ Assert(xyArray.getitem(i).getX(), i*10);
+ Assert(xyArray.getitem(i).getY(), i*100);
+ }
+ }
+
+ // array_functions
+ {
+ int length = 5;
+ AB abArray = li_carrays.new_ABArray(length);
+ for (int i=0; i<length; i++) {
+ AB ab = li_carrays.ABArray_getitem(abArray, i);
+ ab.setA(i*10);
+ ab.setB(i*100);
+ li_carrays.ABArray_setitem(abArray, i, ab);
+ }
+ for (int i=0; i<length; i++) {
+ Assert(li_carrays.ABArray_getitem(abArray, i).getA(), i*10);
+ Assert(li_carrays.ABArray_getitem(abArray, i).getB(), i*100);
+ }
+ li_carrays.delete_ABArray(abArray);
+ }
+
+ {
+ // global array variable
+ int length = 3;
+ AB abArray = li_carrays.getGlobalABArray();
+ for (int i=0; i<length; i++) {
+ AB ab = li_carrays.ABArray_getitem(abArray, i);
+ ab.setA(i*10);
+ ab.setB(i*100);
+ li_carrays.ABArray_setitem(abArray, i, ab);
+ }
+ for (int i=0; i<length; i++) {
+ Assert(li_carrays.ABArray_getitem(abArray, i).getA(), i*10);
+ Assert(li_carrays.ABArray_getitem(abArray, i).getB(), i*100);
+ }
+ }
+ }
+
+ private static void Assert(int val1, int val2) {
+// System.out.println("val1=" + val1 + " val2=" + val2);
+ if (val1 != val2)
+ throw new RuntimeException("Mismatch. val1=" + val1 + " val2=" + val2);
+ }
+}