diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk index d4353f717..caf8a2266 100644 --- a/Examples/test-suite/common.mk +++ b/Examples/test-suite/common.mk @@ -264,7 +264,7 @@ CPP_TEST_CASES += \ li_boost_shared_ptr_bits \ li_boost_shared_ptr_template \ li_boost_shared_ptr_attribute \ - li_carrays \ + li_carrays_cpp \ li_cdata \ li_cpointer \ li_std_auto_ptr \ diff --git a/Examples/test-suite/go/li_carrays_cpp_runme.go b/Examples/test-suite/go/li_carrays_cpp_runme.go new file mode 100644 index 000000000..7ee0a4103 --- /dev/null +++ b/Examples/test-suite/go/li_carrays_cpp_runme.go @@ -0,0 +1,14 @@ +package main + +import . "./li_carrays_cpp" + +func main() { + d := NewDoubleArray(10) + + d.Setitem(0, 7) + d.Setitem(5, d.Getitem(0)+3) + + if d.Getitem(5)+d.Getitem(0) != 17 { + panic(0) + } +} diff --git a/Examples/test-suite/java/li_carrays_cpp_runme.java b/Examples/test-suite/java/li_carrays_cpp_runme.java new file mode 100644 index 000000000..c339a6f56 --- /dev/null +++ b/Examples/test-suite/java/li_carrays_cpp_runme.java @@ -0,0 +1,88 @@ +import li_carrays_cpp.*; + +public class li_carrays_cpp_runme { + + static { + try { + System.loadLibrary("li_carrays_cpp"); + } 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 34; +BEGIN { use_ok('li_carrays_cpp') } +require_ok('li_carrays_cpp'); + +# array_class +{ + my $length = 5; + my $xyArray = new li_carrays_cpp::XYArray($length); + for (my $i=0; $i<$length; $i++) { + my $xy = $xyArray->getitem($i); + $xy->{x} = $i*10; + $xy->{y} = $i*100; + $xyArray->setitem($i, $xy); + } + for (my $i=0; $i<$length; $i++) { + is($xyArray->getitem($i)->{x}, $i*10); + is($xyArray->getitem($i)->{y}, $i*100); + } +} + +{ + # global array variable + my $length = 3; + my $xyArrayPointer = $li_carrays_cpp::globalXYArray; + my $xyArray = li_carrays_cpp::XYArray::frompointer($xyArrayPointer); + for (my $i=0; $i<$length; $i++) { + my $xy = $xyArray->getitem($i); + $xy->{x} = $i*10; + $xy->{y} = $i*100; + $xyArray->setitem($i, $xy); + } + for (my $i=0; $i<$length; $i++) { + is($xyArray->getitem($i)->{x}, $i*10); + is($xyArray->getitem($i)->{y}, $i*100); + } +} + +# array_functions +{ + my $length = 5; + my $abArray = li_carrays_cpp::new_ABArray($length); + for (my $i=0; $i<$length; $i++) { + my $ab = li_carrays_cpp::ABArray_getitem($abArray, $i); + $ab->{a} = $i*10; + $ab->{b} = $i*100; + li_carrays_cpp::ABArray_setitem($abArray, $i, $ab); + } + for (my $i=0; $i<$length; $i++) { + is(li_carrays_cpp::ABArray_getitem($abArray, $i)->{a}, $i*10); + is(li_carrays_cpp::ABArray_getitem($abArray, $i)->{b}, $i*100); + } + li_carrays_cpp::delete_ABArray($abArray); +} + +{ + # global array variable + my $length = 3; + my $abArray = $li_carrays_cpp::globalABArray; + for (my $i=0; $i<$length; $i++) { + my $ab = li_carrays_cpp::ABArray_getitem($abArray, $i); + $ab->{a} = $i*10; + $ab->{b} = $i*100; + li_carrays_cpp::ABArray_setitem($abArray, $i, $ab); + } + for (my $i=0; $i<$length; $i++) { + is(li_carrays_cpp::ABArray_getitem($abArray, $i)->{a}, $i*10); + is(li_carrays_cpp::ABArray_getitem($abArray, $i)->{b}, $i*100); + } +} diff --git a/Examples/test-suite/php/li_carrays_cpp_runme.php b/Examples/test-suite/php/li_carrays_cpp_runme.php new file mode 100644 index 000000000..3be09ca8c --- /dev/null +++ b/Examples/test-suite/php/li_carrays_cpp_runme.php @@ -0,0 +1,22 @@ +setitem(0, 7); +$d->setitem(5, $d->getitem(0) + 3); +check::equal($d->getitem(0) + $d->getitem(5), 17., "7+10==17"); + +check::done(); +?> diff --git a/Examples/test-suite/python/li_carrays_cpp_runme.py b/Examples/test-suite/python/li_carrays_cpp_runme.py new file mode 100644 index 000000000..54d79aa46 --- /dev/null +++ b/Examples/test-suite/python/li_carrays_cpp_runme.py @@ -0,0 +1,9 @@ +from li_carrays_cpp import * + +d = doubleArray(10) + +d[0] = 7 +d[5] = d[0] + 3 + +if d[5] + d[0] != 17: + raise RuntimeError diff --git a/Examples/test-suite/ruby/li_carrays_cpp_runme.rb b/Examples/test-suite/ruby/li_carrays_cpp_runme.rb new file mode 100644 index 000000000..692d21065 --- /dev/null +++ b/Examples/test-suite/ruby/li_carrays_cpp_runme.rb @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby +# +# Put description here +# +# +# +# +# + +require 'swig_assert' + +require 'li_carrays_cpp' + +include Li_carrays_cpp + +# +# Testing for %array_functions(int,intArray) +# +ary = new_intArray(2) +intArray_setitem(ary, 0, 0) +intArray_setitem(ary, 1, 1) +intArray_getitem(ary, 0) +intArray_getitem(ary, 1) +delete_intArray(ary) + +# +# Testing for %array_class(double, doubleArray) +# +ary = DoubleArray.new(2) +ary[0] = 0.0 +ary[1] = 1.0 +ary[0] +ary[1] +ptr = ary.cast +ary2 = DoubleArray.frompointer(ptr) + diff --git a/Examples/test-suite/scilab/li_carrays_cpp_runme.sci b/Examples/test-suite/scilab/li_carrays_cpp_runme.sci new file mode 100644 index 000000000..0ac157446 --- /dev/null +++ b/Examples/test-suite/scilab/li_carrays_cpp_runme.sci @@ -0,0 +1,11 @@ +exec("swigtest.start", -1); + +d = new_intArray(10); + +intArray_setitem(d, 0, 7); + +intArray_setitem(d, 5, intArray_getitem(d, 0) + 3); + +checkequal(intArray_getitem(d, 5) + intArray_getitem(d, 0), 17, "d(5) + d(0) <> 17"); + +exec("swigtest.quit", -1);